如何使用c#汇总excel文件中特定标头的所有行?

时间:2012-08-28 15:01:51

标签: c# excel

我有一张带有1张的excel表。该表在第1行中有标题。 其中一个标题是金额。

我想读取该标题中的所有行,并将它的总和与数字或行(它们从不相同)无关,得到一个float类型的变量。

我是用c#做的。

我打开工作簿,我得到活动表,然后什么都没有,我被阻止了。

我该如何解决这个问题? 瑞·马丁斯

2 个答案:

答案 0 :(得分:2)

您可以使用OleDB而不是Excel.Interop

string con = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\test.xls;" + 
              "Extended Properties='Excel 8.0;HDR=Yes;'";
using(OleDbConnection c = new OleDbConnection(con))
{
    c.Open();
    string selectString = "SELECT SUM(Amount) FROM [Sheet1$]";
    using(OleDbCommand cmd1 = new OleDbCommand(selectString))
    {
       cmd1.Connection = c;
 var result = cmd1.ExecuteScalar();
       Console.WriteLine(result);
    }
 }

此示例使用旧的Microsoft.Jet.OleDB.4.0提供程序,但与新的Microsoft.ACE.OLEDB.12.0

同等有效

答案 1 :(得分:0)

看看这篇文章,您应该能够遍历行并通过完全添加单元格值来获得总数。

MSDN article on how to retrieve excel cell values.