1

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

我想从该标题中读取所有行,并独立于行数或行数,将其总和,这永远不会相同,放入浮点类型的变量中。

我正在用 c# 做这个。

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

我该怎么做?瑞马丁斯

4

2 回答 2

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

于 2012-08-28T15:07:59.783 回答
0

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

有关如何检索 excel 单元格值的 MSDN 文章。

于 2012-08-28T15:07:01.997 回答