日期:2014-05-17  浏览次数:20481 次

ado.net读取用npoi导出的excel文件,最后一列总是读不出来
这个文件使用npoi导出来的,ado.net读取用npoi导出的excel文件,总是少一列,我这样操作下就可以了

打开excel文件,用鼠标在最后一列单击下再保存,就可以了

是什么原因,有什么办法能解决, 是office 2003
导出方法如下
string connStr = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;data source={0};Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'"
  , excelFile);
  string sql = string.Format("select * from [{0}$]", sheetName);
  OleDbConnection cn = new OleDbConnection(connStr);
  OleDbCommand cm = new OleDbCommand(sql,cn);
  OleDbDataAdapter da = new OleDbDataAdapter(cm);
  DataTable dt = new DataTable();
  try
  {
  cn.Open();
  da.Fill(dt);
  return dt;
  }

------解决方案--------------------
是不是excel格式问题
------解决方案--------------------
同求啊 和你的一样 获取不到最后一列的值 2007的能获取
------解决方案--------------------
是你那一列的列名是数字的原因 你用一下那个nopi的导入试试看
------解决方案--------------------
试试IMEX=0
------解决方案--------------------
估计是EXCEL格式问题
------解决方案--------------------
针对性解决,可能要进行判断,分情况,看是2003还是2007或2010