以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 如何导入".xlsx“文件? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=94955)
|
-- 作者:cqlpjks
-- 发布时间:2017/1/6 8:52:00
-- 如何导入".xlsx“文件?
导入 ".xls"文件时:
Else If fl.ToLower.EndsWith(".xls") Then Dim Book As New xls.Book(fl) For Each Sheet As xls.Sheet In Book.Sheets \'引用新增加的工作表 Dim mg As New Merger mg.SourcePath = fl \'指定数据文件所在目录 mg.Format = "excel" \'指定格式 mg.SourceTableName = sheet.Name & "$" mg.DataTableName = "成绩库" \'指定接收数据的表 mg.Merge() \'开始合并 Next 如果导入的是".xlsx“文件,怎么修改代码?请指教。谢谢!
|
-- 作者:有点蓝
-- 发布时间:2017/1/6 9:02:00
--
If fl.ToLower.EndsWith(".xlsx") Then Dim Book As New xls.Book(fl) For Each Sheet As xls.Sheet In Book.Sheets \'引用新增加的工作表 Dim mg As New Merger mg.SourcePath = fl \'指定数据文件所在目录 mg.Format = "excel2007" \'指定格式 mg.SourceTableName = sheet.Name & "$" mg.DataTableName = "成绩库" \'指定接收数据的表 mg.Merge() \'开始合并 Next
|
-- 作者:有点色
-- 发布时间:2017/1/6 9:09:00
--
Else If fl.ToLower.EndsWith(".xls") Then
改成
Else If fl.ToLower.EndsWith(".xls") OrElse fl.ToLower.EndsWith(".xlsx") Then
|
-- 作者:cqlpjks
-- 发布时间:2017/1/6 9:13:00
--
收到。谢谢!但只能导入一个文件了,不能导入多个文件。请指教。谢谢!
Dim dlg As New OpenFileDialog dlg.MultiSelect = True dlg.Filter= "数据库文件|*.dbf;*.xls;*.xlsx|全部|*.*" If dlg.ShowDialog = DialogResult.OK Then For Each fl As String In dlg.FileNames If fl.ToLower.EndsWith(".dbf") Then Dim wjm As String = FileSys.GetName(fl) Dim mg As New Merger mg.SourcePath = FileSys.GetParentPath(fl) \'指定数据文件所在目录 mg.Format = "dbase" \'指定格式 mg.SourceTableName = wjm \'指定要合并的dbase文件,无需扩展名 mg.DataTableName = "成绩库" \'指定接收数据的表 mg.Merge() \'开始合并 Else If fl.ToLower.EndsWith(".xls") Then Dim Book As New xls.Book(fl) For Each Sheet As xls.Sheet In Book.Sheets \'引用新增加的工作表 Dim mg As New Merger mg.SourcePath = fl \'指定数据文件所在目录 mg.Format = "excel" \'指定格式 mg.SourceTableName = sheet.Name & "$" mg.DataTableName = "成绩库" \'指定接收数据的表 mg.Merge() \'开始合并 Next Else If fl.ToLower.EndsWith(".xlsx") Then Dim Book As New xls.Book(fl) For Each Sheet As xls.Sheet In Book.Sheets \'引用新增加的工作表 Dim mg As New Merger mg.SourcePath = fl \'指定数据文件所在目录 mg.Format = "excel2007" \'指定格式 mg.SourceTableName = sheet.Name & "$" mg.DataTableName = "成绩库" \'指定接收数据的表 mg.Merge() \'开始合并 Next End If Next End If
|
-- 作者:有点色
-- 发布时间:2017/1/6 9:22:00
--
代码没问题,可以多个文件的,你只要选择多个文件,肯定能分别合并。
|
-- 作者:cqlpjks
-- 发布时间:2017/1/6 10:51:00
--
导入多个文件还是不得行。请指教。谢谢!
|
-- 作者:有点色
-- 发布时间:2017/1/6 10:54:00
--
我测试没问题,请上传excel表格测试。
|
-- 作者:cqlpjks
-- 发布时间:2017/1/6 11:10:00
--
已上传汇总名册。谢谢!
|
-- 作者:有点色
-- 发布时间:2017/1/6 11:18:00
--
你datacolchanged事件影响了
Dim dlg As New OpenFileDialog dlg.MultiSelect = True dlg.Filter= "数据库文件|*.dbf;*.xls;*.xlsx|全部|*.*" If dlg.ShowDialog = DialogResult.OK Then systemready = False For Each fl As String In dlg.FileNames If fl.ToLower.EndsWith(".dbf") Then Dim wjm As String = FileSys.GetName(fl) Dim mg As New Merger mg.SourcePath = FileSys.GetParentPath(fl) \'指定数据文件所在目录 mg.Format = "dbase" \'指定格式 mg.SourceTableName = wjm \'指定要合并的dbase文件,无需扩展名 mg.DataTableName = "成绩库" \'指定接收数据的表 mg.Merge() \'开始合并 Else If fl.ToLower.EndsWith(".xls") Then Dim Book As New xls.Book(fl) For Each Sheet As xls.Sheet In Book.Sheets \'引用新增加的工作表 Dim mg As New Merger mg.SourcePath = fl \'指定数据文件所在目录 mg.Format = "excel" \'指定格式 mg.SourceTableName = sheet.Name & "$" mg.DataTableName = "成绩库" \'指定接收数据的表 mg.Merge() \'开始合并 Next Else If fl.ToLower.EndsWith(".xlsx") Then Dim Book As New xls.Book(fl) For Each Sheet As xls.Sheet In Book.Sheets \'引用新增加的工作表 Dim mg As New Merger mg.SourcePath = fl \'指定数据文件所在目录 mg.Format = "excel2007" \'指定格式 mg.SourceTableName = sheet.Name & "$" mg.DataTableName = "成绩库" \'指定接收数据的表 mg.Merge() \'开始合并 Next End If Next DataTables("成绩库").DeleteFor("单位 is null") systemready = True End If
e.Form.Controls("Label1").Text = "数据导入结束,可以进行分项统计!"
|
-- 作者:cqlpjks
-- 发布时间:2017/1/6 11:44:00
--
表属性datacolchanged事件已经删了,还是不得行。
此主题相关图片如下:报错.png

[此贴子已经被作者于2017/1/6 11:45:35编辑过]
|