我用C#中的OleDbConnection读取电脑中的Excel文件时,主要代码如下:
string fileType = System.IO.Path.GetExtension(filePath);
if (string.IsNullOrEmpty(fileType))
{
return;
}
string strCon = string.Format("Provider=Microsoft.ACE.OLEDB.{0}.0;" + "Extended Properties=\"Excel {1}.0;HDR={2};IMEX=1;\";" + "data source={3};", (fileType == ".xls" ? 4 : 12), (fileType == ".xls" ? 8 : 12), "NO", filePath);
OleDbConnection conn = new OleDbConnection(strCon);
conn.Open();
DataTable dtSheetName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" });
string strExcel = "select * from [" + dtSheetName.Rows[0]["TABLE_NAME"].ToString() + "$" + "]";
OleDbDataAdapter myCommand = new OleDbDataAdapter(strExcel, strCon);
DataTable dtExcel = new DataTable();
myCommand.Fill(dtExcel);
conn.Close();
结果是,能读取到Excel文件,但是返回的DataTable里,有几行少字符串, 比如说,Excel中第5行是: 【400.测量装置的误差是( )误差。A. 附加 B. 基本 C. 方法 D. 人员** 标准答案:B**】,但返回的DataTable里相对应的第5行是: 【400.测量装置的误差是( )误差。A. 附加 B. 基本 C. 方法 D. 人员** 标准答**】,注意结尾加粗处,返回的DataTable少了【**案:B**】几个字,
请问各位大神, 这是为什么?? 急!!!!!!!!!!!!