以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- [求助]利用EXCEL生成临时表代码出现错误 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=159060) |
||||
-- 作者:sunion -- 发布时间:2020/12/12 10:32:00 -- [求助]利用EXCEL生成临时表代码出现错误 各位老师,如果想利用本地EXCEL的结构,生成一个一模一样的临时表“表D”,我的做法是是先获取EXCEL列名,然后赋值给要建立的临时表。 运行下列代码出现错误:索引超出范围。必须为非负值并小于集合大小。参数名: index
Dim dlg As new OpenFileDialog dlg.Filter = "excel|*.xls" If dlg.ShowDialog = DialogResult.OK Then Dim Book As New XLS.Book(dlg.FileName) Dim Sheet As XLS.Sheet = Book.Sheets(0) For i As Integer = 0 To sheet.cols.Count - 1 \'msgbox(sheet(0,i).text) Dim dtb As New DataTableBuilder("表D") dtb.AddDef(sheet(0,i).text, Gettype(Object)) ‘----------代码错误,请问怎么修改? dtb.Build() Next End If
[此贴子已经被作者于2020/12/12 10:40:47编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2020/12/12 10:41:00 -- if sheet(0,i).text > "" dtb.AddDef(sheet(0,i).text, Gettype(String)) end if
|
||||
-- 作者:sunion -- 发布时间:2020/12/12 11:04:00 -- 蓝蓝老师,代码修改后只会出现最后一列,前面所有的列都没有,不知道是什么问题? |
||||
-- 作者:sunion -- 发布时间:2020/12/12 11:05:00 --
[此贴子已经被作者于2020/12/12 11:07:32编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2020/12/12 11:17:00 -- Dim dlg As new OpenFileDialog dlg.Filter = "excel|*.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("表D") 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)) End If Next dtb.Build() End If |
||||
-- 作者:sunion -- 发布时间:2020/12/12 11:41:00 -- 蓝蓝老师,再请教一下,如果EXCEL本身是多层表头,以上代码如何修正一下呢?感谢你啊 |
||||
-- 作者:有点蓝 -- 发布时间:2020/12/12 11:46:00 -- Output.Show(sheet(0,i).text & “_” & Output.Show(sheet(1,i).text)) |
||||
-- 作者:sunion -- 发布时间:2020/12/12 12:18:00 -- 蓝蓝老师,出现了点错误 ![]() ![]() |
||||
-- 作者:有点蓝 -- 发布时间:2020/12/12 13:35:00 -- Output.Show(sheet(0,i).text & “_” & sheet(1,i).text) |