Foxtable(狐表)用户栏目专家坐堂 → 关于导出表问题


  共有2333人关注过本帖树形打印复制链接

主题:关于导出表问题

帅哥哟,离线,有人找我吗?
fvcfox
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:503 积分:4677 威望:0 精华:0 注册:2020/5/7 13:05:00
关于导出表问题  发帖心情 Post By:2021/1/18 8:57:00 [只看该作者]

Dim dlg As New SaveFileDialog '定义一个新的SaveFileDialog
dlg.Filter= "Excel文件|*.xls" '设置筛选器
dlg.FileName = "人员信息表" & Format(Date.Now, "yyyyMMdd") & ".xls"
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim ex As New Exporter
    ex.SourceTableName = "人员信息" '指定导出表
    ex.FilePath = dlg.FileName '指定目标文件
    ex.Format = "Excel" '导出格式为Excel
    ex.Fields = "编号,姓名,部门" '指定导出字段
    ex.Export() '开始导出   
    messagebox.show("已完成EXCEL表格的导出.")
End If

通过上述代码,导出的EXCEL表格的指定字段记录,本来是数值型的,导出后成字符型了,怎样导出的数据类型与狐表里表字段类型一样

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106028 积分:539233 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/18 9:07:00 [只看该作者]

我测试没有问题,数值列导出execl也是数值型。字符型是靠左对齐的,数值型是靠右对齐的

 回到顶部
帅哥哟,离线,有人找我吗?
fvcfox
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:503 积分:4677 威望:0 精华:0 注册:2020/5/7 13:05:00
  发帖心情 Post By:2021/1/18 9:29:00 [只看该作者]

将电子表格的数值型已设成字符型,但在导入时导不进1-12的那些记录

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20210118092635.png
图片点击可在新窗口打开查看


[此贴子已经被作者于2021/1/18 9:28:51编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106028 积分:539233 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/18 9:32:00 [只看该作者]

这个列肯定不是数值列,而是字符型列。数据导出看列类型,字符型列数据导出肯定是字符型的

 回到顶部
帅哥哟,离线,有人找我吗?
fvcfox
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:503 积分:4677 威望:0 精华:0 注册:2020/5/7 13:05:00
  发帖心情 Post By:2021/1/18 10:43:00 [只看该作者]

现在我是想在电子表格录入数据后,再导入出问题,在电子表格的1-12我已改成文本了,为什么不能导入,但如果录入非数字的中文字是可以导入的

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106028 积分:539233 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/18 10:55:00 [只看该作者]

对于同一列数据既有字符又有数值的,只能导入其中一种,这个是是execl组件本身的问题

换一种方式导:http://www.foxtable.com/webhelp/topics/2334.htm

 回到顶部
帅哥哟,离线,有人找我吗?
fvcfox
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:503 积分:4677 威望:0 精华:0 注册:2020/5/7 13:05:00
  发帖心情 Post By:2021/1/20 0:39:00 [只看该作者]

请问老师,如下的红色字中的str变量怎样使其适合在有“”的表示方法

Dim Result As DialogResult
Result = MessageBox.Show("▲导入时会删除当前采集表的所有记录数据???", "特别注意", MessageBoxButtons.YesNo,MessageBoxIcon.Question)
If Result = DialogResult.Yes Then
    Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
    dlg.Filter= "EXCEL文件|*.xls" '设置筛选器
    If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
        Dim Book As New XLS.Book(dlg.FileName)
        Dim Sheet As XLS.Sheet = Book.Sheets(0)
        Tables("采集表").StopRedraw()
        '注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
Dim str As String
Tables("考核内容").Sort="考核ID DESC"
For Each r As Row In Tables("考核内容").Rows  
 str=  ","& r("考核内容") & str
Next
        Dim nms() As String = {"编号","部门","姓名","类别" & str}
        '注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
        'DataTables("采集表").DataRows.Clear
        For n As Integer = 1 To Sheet.Rows.Count -1
            Dim r As Row = Tables("采集表").AddNew()
            For m As Integer = 0 To nms.Length - 1
                r(nms(m)) = Sheet(n,m).Value
            Next
        Next
        Tables("采集表").ResumeRedraw()
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106028 积分:539233 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/20 8:43:00 [只看该作者]

Dim str As String
Tables("考核内容").Sort="考核ID DESC"
dim lst as new List(of string)
lst.addrange({"编号","部门","姓名","类别"})
For Each r As Row In Tables("考核内容").Rows  
 lst.add(r("考核内容"))
Next
        '注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
        'DataTables("采集表").DataRows.Clear
        For n As Integer = 1 To Sheet.Rows.Count -1
            Dim r As Row = Tables("采集表").AddNew()
            For m As Integer = 0 To lst.count - 1
                r(lst(m)) = Sheet(n,m).Value
            Next
        Next

 回到顶部