如题,比如excel文件有50行记录,但是我读出来的table有70行。 现在发现原因是当你在那个表里面曾经写入过70行记录,保存一下,再删掉后面20行,但是读出来的table就仍然有70行,但是每个格子的值都是空的。
请教如何解决这种问题?
//源的定义
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + strExcelFileName + ";" + "Extended Properties='Excel 8.0;HDR=NO;IMEX=1';";//Sql语句
//string strExcel = string.Format("select * from [{0}$]", strSheetName); 这是一种方法
string strExcel = "select * from [sheet1$]";//定义存放的数据表
DataSet ds = new DataSet();//连接数据源
OleDbConnection conn = new OleDbConnection(strConn);conn.Open();//适配到数据源
OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, strConn);
adapter.Fill(ds, strSheetName); conn.Close();
请教如何解决这种问题?
//源的定义
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + strExcelFileName + ";" + "Extended Properties='Excel 8.0;HDR=NO;IMEX=1';";//Sql语句
//string strExcel = string.Format("select * from [{0}$]", strSheetName); 这是一种方法
string strExcel = "select * from [sheet1$]";//定义存放的数据表
DataSet ds = new DataSet();//连接数据源
OleDbConnection conn = new OleDbConnection(strConn);conn.Open();//适配到数据源
OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, strConn);
adapter.Fill(ds, strSheetName); conn.Close();
1、故意放20条所有字段都是空的记录?
2、删除20条记录?因为不能,比较安全的做法就是返回20条空记录。
如果你确定空记录非法,那么倒入到ds后删除空记录就是了。
看吧 我的Blog
里面有这个问题的解决方案