我正在尝试将数据从 Excel 文件获取到 DataTable。
这是我的代码片段:
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 中的数据表的任何建议
考虑到您遇到的所有问题,我怀疑标准 oledb 驱动程序无法正确读取您的 Excel 文件,因为表数据之前有文本行。
不如离开并使用这个库手动编码如何http://epplus.codeplex.com/用于读取 xlsx 文件并创建数据表或数据库记录
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)