找回密码
 立即注册

QQ登录

只需一步,快速开始

hbqc_zh

注册会员

6

主题

14

帖子

42

积分

注册会员

积分
42

活字格认证

hbqc_zh
注册会员   /  发表于:2013-1-24 15:25  /   查看:7910  /  回复:4
spread 7.0,控件fpspread中的数据导出到Excel中,如何将表头一并导出,还有导出的文件怎么只支持2003,导出的格式如果2007,会提示文件格式不对,将扩展名改为2003,也可以打开,这是为什么?

4 个回复

倒序浏览
hbqc_zh
注册会员   /  发表于:2013-1-24 16:10:00
沙发
附VB的代码:
  
Public Sub PublicFpToExcel(ByVal frm As Form, ByVal CommonDialog As CommonDialog, fp As fpSpread)
        
        On Error GoTo f_Error
        Dim i As Long
        Dim j As Long
        Dim str1 As String
        Dim x As Boolean
        
        CommonDialog.CancelError = False
        CommonDialog.FileName = "" '默認生成的文件名
        CommonDialog.DialogTitle = "Save Export File"
        CommonDialog.Filter = "1997-2003 Excel (*.xls)|*.xls|2007-2010 Excel (*.xlsx)|*.xlsx"
        CommonDialog.DefaultExt = "*.xls"
        CommonDialog.ShowSave
        frm.MousePointer = 11
        If CommonDialog.FileName <> "" Then
                With fp
                        .MaxRows = .MaxRows + .ColHeaderRows
                        .InsertRows 1, .ColHeaderRows
        
                        For i = 1 To .MaxCols
                                .Col = i
                                For j = 0 To .ColHeaderRows - 1
                                        .Row = SpreadHeader + j
                                        str1 = .Text
                                        .Row = j + 1
                                        .CellType = CellTypeEdit
                                        .TypeHAlign = TypeHAlignCenter
                                        .TypeVAlign = TypeVAlignCenter
                                        .Text = str1
                                Next j
                        Next i
                        x = .ExportToExcel(CommonDialog.FileName, "Sheet1", App.Path &amp; "\ToExcelLog.TXT")
                        .DeleteRows 1, .ColHeaderRows
                        .MaxRows = .MaxRows - .ColHeaderRows
                End With
                If x Then
                        MsgBox "输出数据成功", vbInformation + vbOKOnly, "提示"
                Else
                        MsgBox "输出数据失败", vbExclamation + vbOKOnly, "提示"
                End If
        End If
        
        frm.MousePointer = 0
        Exit Sub
f_Error:
        frm.MousePointer = 0
        MsgBox "错误码:" &amp; Err.Number &amp; Chr(13) &amp; Err.Source &amp; ":" &amp; Err.Description, vbExclamation, "提示"
        
End Sub



就是调用以上过程,能一并导出,但不用这种方法,能直接导入表头吗,并支持Excel 2007 -2010
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-1-24 16:33:00
板凳
回复 1楼hbqc_zh的帖子

你是使用的 Spread ActiveX 7.0版本吗,该版本不支持导出到 Excel2007,需要 Spread ActiveX 8.0 才开始支持导出到 Excel2007.
回复 使用道具 举报
hbqc_zh
注册会员   /  发表于:2013-1-25 09:15:00
地板
回复 3楼dof的帖子

你好!超级版主,谢谢你的回答,请问:Spread ActiveX 7.0支持表头和数据直接导出至Excel吗?上面的方法用的是先将表头插入表,导出,再删除的方法。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-1-25 15:46:00
5#
回复 4楼hbqc_zh的帖子

你好,
目前无法支持直接导出表头。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部