使用C#计算在Excel中的行数 [英] count number of rows in excel using c#
本文介绍了使用C#计算在Excel中的行数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有excel表与code像
i have the excel sheet with code like
VPUDB001
VPUDB002
VPUDB003
VPUDB004
VPUDB005
VPUDB006
VPUDB007
VPUDB008
VPUDB009
VPUDB010
VPUDB011
VPULN001
VPULN002
VPULN003
VPULN004
VPULN005
VPULN006
VPULN007
VPULN008
VPULN009
我要显示在Excel开始 VPUDB
和 VPULN
的行数。
private void browse_Click(object sender, EventArgs e)
{
DialogResult fileopen = openFileDialog1.ShowDialog();
string filename = openFileDialog1.FileName;
textBox1.Text = filename;
try
{
olecon = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" + filename + "';Extended Properties=Excel 12.0");
olecon.Open();
DataTable dt = new DataTable();
dt = olecon.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
string[] excelsheetnames = new string[dt.Rows.Count];
int i = 0;
foreach (DataRow row in dt.Rows)
{
excelsheetnames[i] = row["TABLE_NAME"].ToString();
string sheetnamealone = excelsheetnames[i].Remove(excelsheetnames[i].IndexOf('$'));
comboBox1.Items.Add(sheetnamealone);
i++;
}
//comboBox1.SelectedIndex = 1;
}
catch
{
}
finally
{
olecon.Close();
}
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
OleDbCommand cmd = new OleDbCommand("Select [code] FROM ["+comboBox1.SelectedItem+"$] ", olecon);
olecon.Open();
OleDbDataReader dReader;
dReader = cmd.ExecuteReader();
while (dReader.Read())
{
string s = dReader[0].ToString();
}
olecon.Close();
}
在这里,我浏览Excel工作表,我数和显示在组合框中,然后在组合选择的事件,我需要计算特定的表行如上说。
Here i browse the excel sheet and i count and display in combo box, then in combo selected event i need to count the particular sheet rows as said above.
推荐答案
尝试这样的LINQ将解决您的问题。
try linq like this will resolve your issue
var query = from row in dTable.AsEnumerable()
where ((row.Field<string>("columnname")).contains("VPUDB")
|| (row.Field<string>("columnname")).contains("VPULN"))
select row;
这篇关于使用C#计算在Excel中的行数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文