C# 读取excel表格数据空白行问题 50

用OleDbDataAdapter获取表格中的数据时,总是会添加尾部的几行空白行(注意是整行空白),要手动将末尾几行空白行进行删除处理才不会有问题,如何在读取的时候就排队... 用OleDbDataAdapter获取表格中的数据时,总是会添加尾部的几行空白行(注意是整行空白),要手动将末尾几行空白行进行删除处理才不会有问题,如何在读取的时候就排队空白行呢?列的问题也是一样的,同样存在可能读取右侧几列空白列的 展开
 我来答
caresong
2013-07-11
知道答主
回答量:23
采纳率:100%
帮助的人:15.5万
展开全部
在把读到的表格循环过滤掉空白。
列,以第一行不为空的表格数量给准,之后每行都读取这么多列就行了;
行,判断必填的一列是否为空,为空的话直接删除这行。
TsChus
2013-08-02
知道答主
回答量:11
采纳率:0%
帮助的人:7.1万
展开全部
不知道是否能帮助你。
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
铰笔刀
2013-07-09 · TA获得超过477个赞
知道小有建树答主
回答量:451
采纳率:0%
帮助的人:267万
展开全部
表格有两个后台属性,分别是已使用的最大行数和已使用的最大列数。这个adapter可能是按这两个属性来的,没法改。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式