【发布时间】:2011-10-18 07:34:03
【问题描述】:
我正在尝试将数据从 Excel 文件获取到 DataTable。
这是我的代码-sn-p:
FilePath = WebConfig.SavePath + "Book2.xls";
// Create the connection object
OleDbConnection oledbConn = new OleDbConnection(WebConfig.ExcelConnection(FilePath));
// Open connection
oledbConn.Open();
// Create OleDbCommand object and select data from worksheet Sheet1 //WebConfig.SheetNameFirstExcel
OleDbCommand cmd = new OleDbCommand("SELECT * FROM [" + "Sheet1" + "$]", oledbConn);
// Create new OleDbDataAdapter
OleDbDataAdapter oleda = new OleDbDataAdapter();
oleda.SelectCommand = cmd;
// Create a DataSet which will hold the data extracted from the worksheet.
DataTable dt = new DataTable();
// Fill the DataSet from the data extracted from the worksheet.
oleda.Fill(dt);
问题在于,某些单元格的数据被导出到数据表,而另一些则不是。
excel的格式是这样的:
第一行标题
第二部分文字
第三行空白
第 4 位以后的桌子
10 列和 298 行。
上面的代码中缺少什么,或者任何将此类 excel(.xlsx) 提取到 asp.net 3.5 中的数据表的建议
【问题讨论】:
-
@Fadrian :这是我在配置中使用的:Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=Excel 8.0 还有这个 Provider=Microsoft.ACE .OLEDB.12.0;Data Source={0};Extended Properties=Excel 12.0" 我想这应该是这个问题的原因!
-
我的问题类似于processinginfinity.com/mystery-of-the-missing-cell-value 但我仍然找不到合适的解决方案
标签: c# asp.net excel datatable oledb