fqzzNevergiveup
fqzzNevergiveup
采纳率0%
2017-08-03 00:21 阅读 1.1k

C#读取电脑中的Excel文件,为什么有几行少读了字符串??急!!!!!!!!!!!!!!

50

我用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**】几个字,
请问各位大神, 这是为什么?? 急!!!!!!!!!!!!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

相关推荐