你可以使用sql直接读execlSELECT * into FROM OpenDataSource('MICROSOFT.JET.OLEDB.4.0','User ID=Admin;Password=;Data Source=你的Execl路径;Extended Properties=''Excel 8.0;IMEX=1''')...Execl工作区间名$
SELECT * FROM OpenDataSource('MICROSOFT.JET.OLEDB.4.0','User ID=Admin;Password=;Data Source=你的Execl路径;Extended Properties=''Excel 8.0;IMEX=1''')...Execl工作区间名$
因为你用的(智能)判断,第4列(D列)不为空,它读数据出来了,
第5列才为null,所以它停止读,这样就导致读了4列。
不是我的(智能)判断 ,是微软的c#的(智能)判断。
我不想判断,我只想得到:对用户而言,用户的excel 有几列的数据,我就读几列的数据 出来 可以做到吗
对于 之前用户清除的数据列 程序当然也不应该认为有空数据 。。
Excel.Worksheet sheet = GetWorksheetByName(sheetName);
Excel.Range rang = sheet.get_Range("A1", "AM24");
System.Array values = (Array)rang.Cells.Value2;Excel.Range ran=(Excel.Range)mSheet.Cells[i,j];
if(ran.Value2==null)
{}
要结贴了。。
说一下我目前的做法 :我不再判断 用户的excel 有几列可以识别的数据 也不管读入datatable中的列是否空列,空数据 。
我只取我需要的三列 就好了。