如我有一个excel表,我想快速的将其导入软件中的表A中,能否用 下面的方案导入表A 呢?
Dim ip as New Importer
ip.SourcePath = "c:\Data\销售管理.xls" '指定数据文件
ip.SourceTableName = "订单" '指定要导入的表
ip.NewTableName ="订单"
'导入后的表名
ip.Format = "Excel"
'指定导入格式
ip.Import()
我看我们的说明,
Merger用于合并数据。
合并的速度要远低于导入,所以如果有大量数据要引入管理项目中,最好用导入。
这个效率比较低,我想用 improter 的话,该如何操作?
improter 只能导入为新表。无法合并数据。
或者试试导入新表,fill到表A,再删除新表。不过我觉得这个可能会更慢
咱们软件中的这个合并也挺快,能分享下这个的思路的或者 代码?
我想自己写一下,更灵活一些
如下拉
此主题相关图片如下:微信图片_20240930122820.png
sheet 表后,下面的表就显示出来了,查看下,没有问题,就正常合并的软件中的表中
我如下写了下 代码,可是 ,选择 excel 表后,就比较卡,要等上十来秒,才能下拉
foxtable 自带的合并,反应很快,请问是如何做到的?
Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter = "Excel文件|*.xls|Word文件|*.doc|Access文件|*.mdb" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
' MessageBox.Show("你选择的是:" & dlg.FileName, "提示") '提示用户选择的文件
Dim txt As WinForm.Label = e.Form.Controls("Label1")
txt.Text = dlg.FileName
'获取 worksheets
Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(txt.Text)
Dim Lst As New List(Of String)
For Each Ws As MSExcel.WorkSheet In Wb.WorkSheets
'MessageBox.Show(Ws.Name)
Lst.Add(Ws.Name)
Next
'将表sheet表集合转成string
Dim Arys() As String
Arys = Lst.ToArray() '将集合转换为数组
Dim Str1 As String
Str1 = String.Join("|", Arys)
Dim cmb As WinForm.ComboBox = e.Form.Controls("ComboBox1")
cmb.ComboList = Str1
App.Quit
End If
Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(txt.Text)
到这里,测试了下,耗时就4.8秒
菜单的高速合并其实就是Merger。
如果数据比较多,试试这种方式:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=100317&replyID=&skin=1