以文本方式查看主题 - 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=175697) |
-- 作者:lisangyu -- 发布时间:2022/3/15 20:37:00 -- EXCEL导入 Dim dlg As New OpenFileDialog dlg.Filter = "Excel文件|*.xls;*.xlsx" If dlg.ShowDialog = DialogResult.OK Then Dim Book As New XLS.Book(dlg.FileName) Dim Sheet As XLS.Sheet = Book.Sheets(0) Tables("答案").StopRedraw() \'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致 Dim nms() As String = {"试题号","题型","题目","分类","选择题_A","选择题_B","选择题_C","选择题_D","判断题_A","判断题_B","正确答案"} \'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题 For n As Integer = 1 To Sheet.Rows.Count -1 Dim r As Row = Tables("答案").AddNew() For m As Integer = 0 To nms.Length - 1 r(nms(m)) = Sheet(n,m).Value Next Next Tables("答案").ResumeRedraw() End If 导入的 excel文件以及导入后的数据如下:(数据错位了) [此贴子已经被作者于2022/3/15 20:38:04编辑过]
|
-- 作者:有点蓝 -- 发布时间:2022/3/15 21:15:00 -- 有合并的单元格的原因,试试 Dim nms() As String = {"试题号","题型","题目",“”,“”,“”,"分类","选择题_A","选择题_B","选择题_C","选择题_D","判断题_A","判断题_B","正确答案"} \'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题 For n As Integer = 1 To Sheet.Rows.Count -1 Dim r As Row = Tables("答案").AddNew() For m As Integer = 0 To nms.Length - 1 if nms(m) > "" then r(nms(m)) = Sheet(n,m).Value end if Next Next |