以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- EXCEL导入问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=69257) |
-- 作者:qqking -- 发布时间:2015/6/2 11:34:00 -- EXCEL导入问题 请问下面的代码如何在导入前把EXCEL文件中 - - 的替换成空,还有实现同时多个EXCEL文件导入?谢谢 Dim dlg As New OpenFileDialog dlg.Filter= "Excel文件|*.xls;*.xlsx" \'设置筛选器 If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮 DataTables("dkye").StopRedraw Dim App As New MSExcel.Application try Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(dlg.FileName) Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1) Dim Rg As MSExcel.Range = Ws.UsedRange Dim ary = rg.value For n As Integer = 5 To rg.Rows.Count - 1 Dim ro As Row = Tables("dkye").AddNew For i As Integer = 0 To Tables("dkye").Cols.Count - 6 ro(i) = ary(n,i+1) ws.usedrange.replace (" - -","") Next Next MessageBox.Show("导入成功!","恭喜!") catch ex As exception msgbox(ex.message) MessageBox.Show("导入失败!","恭喜!") finally DataTables("dkye").ResumeRedraw app.quit End try End If
|
-- 作者:Bin -- 发布时间:2015/6/2 11:38:00 -- 1.多文件看实例二 http://www.foxtable.com/help/topics/0328.htm 2.你要替换哪里的 - ?
|
-- 作者:qqking -- 发布时间:2015/6/2 11:54:00 -- EXCEL导入问题 整表数据 [此贴子已经被作者于2015/6/2 11:55:32编辑过]
|
-- 作者:Bin -- 发布时间:2015/6/2 11:55:00 -- ro(i) = ary(n,i+1) 这句代码 改为 ro(i) = ary(n,i+1).replace (" - -","")
|
-- 作者:大红袍 -- 发布时间:2015/6/2 12:02:00 -- Dim dlg As New OpenFileDialog dlg.Filter= "Excel文件|*.xls;*.xlsx" \'设置筛选器 dlg.MultiSelect = True If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮 DataTables("dkye").StopRedraw Dim App As New MSExcel.Application try app.DisplayAlerts = False For Each f As String In dlg.FileNames Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(f) Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1) Dim Rg As MSExcel.Range = Ws.UsedRange app.Selection.Replace(What:=" - -", Replacement:="", LookAt:=2,SearchOrder:=1, MatchCase:=False, SearchFormat:=False,ReplaceFormat:=False) Dim ary = rg.value For n As Integer = 5 To rg.Rows.Count - 1 Dim ro As Row = Tables("dkye").AddNew For i As Integer = 0 To Tables("dkye").Cols.Count - 6 ro(i) = ary(n,i+1) Next Next Next MessageBox.Show("导入成功!","恭喜!") catch ex As exception msgbox(ex.message) MessageBox.Show("导入失败!","恭喜!") finally DataTables("dkye").ResumeRedraw app.quit End try End If |
-- 作者:qqking -- 发布时间:2015/6/2 12:03:00 -- 此主题相关图片如下:qq图片20150602120158.png |
-- 作者:大红袍 -- 发布时间:2015/6/2 12:10:00 -- ro(i) = Cstr(ary(n,i+1)).replace (" - -","")
|
-- 作者:qqking -- 发布时间:2015/6/2 14:54:00 -- 成功导入了,谢谢两位版主 |
-- 作者:qqking -- 发布时间:2015/6/4 0:30:00 -- 换了台电脑导入报错: |
-- 作者:Bin -- 发布时间:2015/6/4 8:39:00 -- 建议您用这个方法: http://www.foxtable.com/help/topics/1485.htm 先找出是哪一行出错,然后分析原因,搞不定,可以在论坛发帖,贴出代码,并告诉我们运行到哪一行出错,以及错误提示。
|