我想获取 excel 工作表中非空的行数。我正在使用 asp.net 和 C#,并在我的表单中上传一个简单的 excel 文件,列的数量和名称仅由用户决定(意味着数据列名称未知)。我正在寻找一种完美的方法来获取不为空的 excel 行数。我使用的以下代码为只有 3 行非空数据的行列表提供了 78 的计数(不包括第一行,因为它用于列名)。这是我的代码:
con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + pathExcel + ";Extended Properties='Excel 12.0;HDR=YES;IMEX=1;';");
string cmdS = "SELECT * FROM [Sheet1$]";
if (con.State == ConnectionState.Closed)
con.Open();
OleDbCommand cmd = new OleDbCommand(cmdS, con);
OleDbDataAdapter adp = new OleDbDataAdapter(cmd);
DataSet ds = new DataSet();
adp.Fill(ds, "MailingList");
DataRow dr;
dr = ds.Tables["MailingList"].Rows[0];
int intExcelRowCount=0;
// the following thing give me output as 78 but my sheet has only 3 records.
intExcelRowCount=int.Parse(ds.Tables["MailingList"].Rows.Count);
有什么完美的方法可以做到这一点?