以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]如何快速的导入一个表格到软件中 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=193644) |
-- 作者:moseser -- 发布时间:2024/9/30 10:31:00 -- [求助]如何快速的导入一个表格到软件中 如我有一个excel表,我想快速的将其导入软件中的表A中,能否用 下面的方案导入表A 呢? ip.SourcePath = "c:\\Data\\销售管理.xls" \'指定数据文件 ip.SourceTableName = "订单" \'指定要导入的表 ip.NewTableName ="订单" \'导入后的表名 ip.Format = "Excel" \'指定导入格式 ip.Import() 我看我们的说明, Merger用于合并数据。 合并的速度要远低于导入,所以如果有大量数据要引入管理项目中,最好用导入。 这个效率比较低,我想用 improter 的话,该如何操作?
|
-- 作者:有点蓝 -- 发布时间:2024/9/30 10:53:00 -- improter 只能导入为新表。无法合并数据。 或者试试导入新表,fill到表A,再删除新表。不过我觉得这个可能会更慢
|
-- 作者:moseser -- 发布时间:2024/9/30 12:31:00 -- 回复:(有点蓝)improter 只能导入为新表。无法... 咱们软件中的这个合并也挺快,能分享下这个的思路的或者 代码? 我想自己写一下,更灵活一些 |
-- 作者:moseser -- 发布时间:2024/9/30 12:34:00 -- 回复:(moseser)回复:(有点蓝)improter 只能... 我如下写了下 代码,可是 ,选择 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 |
-- 作者:moseser -- 发布时间:2024/9/30 12:40:00 -- 回复:(moseser)回复:(moseser)回复:(有点蓝)... Dim App As New MSExcel.Application Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(txt.Text) 到这里,测试了下,耗时就4.8秒
|
-- 作者:有点蓝 -- 发布时间:2024/9/30 13:33:00 -- 菜单的高速合并其实就是Merger。 如果数据比较多,试试这种方式:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=100317&replyID=&skin=1
|