C# 读取excel表格数据空白行问题 50
用OleDbDataAdapter获取表格中的数据时,总是会添加尾部的几行空白行(注意是整行空白),要手动将末尾几行空白行进行删除处理才不会有问题,如何在读取的时候就排队...
用OleDbDataAdapter获取表格中的数据时,总是会添加尾部的几行空白行(注意是整行空白),要手动将末尾几行空白行进行删除处理才不会有问题,如何在读取的时候就排队空白行呢?列的问题也是一样的,同样存在可能读取右侧几列空白列的
展开
3个回答
展开全部
不知道是否能帮助你。
string strConn;
strConn = "Provider=Microsoft.Ace.OleDb.12.0;Data Source=" + filePath + ";Extended Properties='Excel 12.0;HDR=Yes;IMEX=1'";
OleDbConnection OleConn = new OleDbConnection(strConn);
OleConn.Open();
//取出EXCEL的所有工作表
DataTable sheetNames = OleConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
ArrayList al = new ArrayList();
foreach (DataRow dr in sheetNames.Rows)
{
al.Add(dr[2]);
}
String sql = "SELECT * FROM [Sheet1$] where [Users] is not null"; //EXCEL工作表的名字
OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);
DataSet OleDsExcle = new DataSet();
OleDaExcel.Fill(OleDsExcle);
OleConn.Close();
return OleDsExcle.Tables[0];
SQL语句加一个not null
string strConn;
strConn = "Provider=Microsoft.Ace.OleDb.12.0;Data Source=" + filePath + ";Extended Properties='Excel 12.0;HDR=Yes;IMEX=1'";
OleDbConnection OleConn = new OleDbConnection(strConn);
OleConn.Open();
//取出EXCEL的所有工作表
DataTable sheetNames = OleConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
ArrayList al = new ArrayList();
foreach (DataRow dr in sheetNames.Rows)
{
al.Add(dr[2]);
}
String sql = "SELECT * FROM [Sheet1$] where [Users] is not null"; //EXCEL工作表的名字
OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);
DataSet OleDsExcle = new DataSet();
OleDaExcel.Fill(OleDsExcle);
OleConn.Close();
return OleDsExcle.Tables[0];
SQL语句加一个not null
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
表格有两个后台属性,分别是已使用的最大行数和已使用的最大列数。这个adapter可能是按这两个属性来的,没法改。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询