1. 在引用Microsoft.Office.Interop.Excel之后,代码中必须要用完整的类名才可正确编译
如定义一个Excel对象,必须定义为Microsoft.Office.Interop.Excel excel;或者开始引用的时候写成usingExcel=Microsoft.Office.Interop.Excel,下面可以直接写Excel excel;原因未知。
2. workbook的文件路径问题
workbook = excelApp.Workbooks.Open(stringfile)函数中的file必须是文件的绝对路径,否则打开失败。
3. Excel的sheet的下标问题
Microsoft.Office.Interop.Excel.Worksheet sheet =workbook.Sheets[i];语句中的是从1开始。
4. 读取xls的问题
(1)数据读取慢。由于表格中含有大量的合并行,空行,导致有大量的空数据,每次读取一个条目就很慢,不知道是什么原因,如果将空行都读取的话,一个表格需要等待几十秒,这是不可接受的。为了改善该情况,在分析表格的基础上,设置了每行开头如果是空行的话,直接跳出该循环。
(2)数据转换问题。读取出的数据为object,需要转换为相应类型,有的地方用range.Cells[row,column].Value即可,有的则需要用Convert转换,不知道有什么不同。
5. 在使用ApplicationClass会报无法嵌入互操作类型“Microsoft.Office.Interop.Excel.ApplicationClass”。请改用适用的接口。
右键选择引用的excel.dll,在属性选项中嵌入互操作类型改为false。