以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]呜呜呜,我是不是很笨,麻烦老师看看这组代码  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=55982)

--  作者:zhuzhi
--  发布时间:2014/8/27 11:33:00
--  [求助]呜呜呜,我是不是很笨,麻烦老师看看这组代码
Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    Dim ip As New Importer
    ip.SourcePath = dlg.FileName \'指定数据文件
    ip.SourceTableName = "新生$" \'指定要导入的表
    ip.NewTableName ="报到数据" \'导入后的表名
    ip.Import()
End If
我按照帮助里的代码,稍微修改了一下。但是选择我的导入表后,却是这个样子

图片点击可在新窗口打开查看此主题相关图片如下:导入错误.jpg
图片点击可在新窗口打开查看

另外,同样按帮助里的合并代码,修改了一下
Dim dlg As New OpenFileDialog
dlg.Filter = "Excel文件|*.xls"
dlg.MultiSelect = True \'允许选择多个文件
If dlg.ShowDialog =DialogResult.OK Then
    For Each fl As String In dlg.FileNames
        Dim mg As New Merger
        mg.SourcePath = fl
        mg.SourceTableName = "新生$"
        mg.DataTableName = "新生"
        mg.Merge()
    Next
End If
结果显示:
图片点击可在新窗口打开查看此主题相关图片如下:合并错误.jpg
图片点击可在新窗口打开查看

不知道我是哪里没做好呢?谢谢各位老师

--  作者:Bin
--  发布时间:2014/8/27 11:35:00
--  
你这个Excel表格,应该不是常规的表格,可能格式损坏,可能是WPS文件.

文件发上来我看看.

--  作者:land089
--  发布时间:2014/8/27 11:40:00
--  
代码没错检查你的EXCEL文件格式!
--  作者:有点甜
--  发布时间:2014/8/27 11:40:00
--  
 excel文件发上
--  作者:zhuzhi
--  发布时间:2014/8/27 15:01:00
--  
这个文件我用狐表本身的导入可导入
麻烦老师们帮我看看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:报到.xls
这是我用的表,做的很简单,我用的office2010,不过已转2003

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:窗口设计试作.rar
这是我用的项目


--  作者:有点甜
--  发布时间:2014/8/27 15:04:00
--  

 用你的 报到.xls 文件

 

Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    Dim ip As New Importer
    ip.SourcePath = dlg.FileName \'指定数据文件
    ip.Format = "Excel"
    ip.SourceTableName = "Sheet1$" \'指定要导入的表
    ip.NewTableName ="报到数据" \'导入后的表名
    ip.Import()
End If


--  作者:有点甜
--  发布时间:2014/8/27 15:05:00
--  

 看6楼,如果是excel2007以上的版本,这样写

 

Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    Dim ip As New Importer
    ip.SourcePath = dlg.FileName \'指定数据文件
    ip.Format = "Excel2007"
    ip.SourceTableName = "Sheet1$" \'指定要导入的表
    ip.NewTableName ="报到数据" \'导入后的表名
    ip.Import()
End If


--  作者:Bin
--  发布时间:2014/8/27 15:06:00
--  

Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    Dim ip As New Importer
    ip.SourcePath = dlg.FileName \'指定数据文件
    ip.Format="Excel" \'没有指定格式
    ip.SourceTableName = "Sheet1$" \'表名根本没写对
    ip.NewTableName ="报到数据" \'导入后的表名
    ip.Import()
End If

--  作者:zhuzhi
--  发布时间:2014/8/27 16:12:00
--  
谢谢大家,问题解决了,是因为没有指定格式!谢谢!
再请教大家一个问题,如果用代码导入临时表呢?可能导入成外部表吗?
非常感谢!
[此贴子已经被作者于2014-8-27 16:25:07编辑过]

--  作者:有点甜
--  发布时间:2014/8/27 16:20:00
--  

 导入临时表?foxtable的临时表?

 

 如果是导入,只能是导出,再导入;

 

 如果是合并,参考 http://www.foxtable.com/help/topics/0680.htm