以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]导入时遇到小麻烦  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=159238)

--  作者:sweet果果
--  发布时间:2020/12/18 13:14:00
--  [求助]导入时遇到小麻烦
Dim dlg As new OpenFileDialog
dlg.Filter = "excel|*.xls;*.xlsx"    ‘--------------出现问题,同一张表,如果是保存.xlsx后缀的表导入正常,如果是.xls后缀的表就出现错误!!外部表不是预期的格式
If dlg.ShowDialog = DialogResult.OK Then
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Dim dtb As New DataTableBuilder("A表")
    For i As Integer = 0 To sheet.cols.Count - 1
        Output.Show(sheet(0,i).text)            
        If sheet(0,i).text > ""
            dtb.AddDef(sheet(0,i).text, Gettype(String),255)          
        End If
    Next
    dtb.Build()
End If


--  作者:有点蓝
--  发布时间:2020/12/18 13:58:00
--  
调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm,看是哪一句代码出错?
--  作者:sweet果果
--  发布时间:2020/12/18 14:35:00
--  
蓝老师,提示是下面的问题,好奇怪哟

Dim dlg2 As New OpenFileDialog
dlg2.Filter = "Excel文件|*.xls;*.xlsx"
dlg2.MultiSelect = True \'允许选择多个文件
If dlg2.ShowDialog =DialogResult.OK Then 
    For Each fl As String In dlg2.FileNames
        Dim mg As New Merger
        mg.SourcePath = fl
        mg.Format = "Excel" 
        mg.SourceTableName = "Sheet1$"
        mg.DataTableName = "数据表"
        MessageBox.Show(1)
        mg.Merge()   \'---------------提示是这里的问题  
        MessageBox.Show(2)
    Next
    Dim lm As String = Tables("数据表").Cols(0).Name
    DataTables("数据表").DeleteFor(" " & lm & " Is null ")
    MessageBox.Show("数据合并成功,请下载保存")
End If

错误提示如下:
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.5.29.8
错误所在事件:
详细错误信息:
外部表不是预期的格式。
[此贴子已经被作者于2020/12/18 14:35:45编辑过]

--  作者:有点蓝
--  发布时间:2020/12/18 14:40:00
--  
if fl.endswith(".xls")
mg.Format = "Excel" 
else
mg.Format = "Excel2007" 
end if