我有一张带有1张的excel表。该表在第1行中有标题。 其中一个标题是金额。
我想读取该标题中的所有行,并将它的总和与数字或行(它们从不相同)无关,得到一个float类型的变量。
我是用c#做的。
我打开工作簿,我得到活动表,然后什么都没有,我被阻止了。
我该如何解决这个问题? 瑞·马丁斯
答案 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)
看看这篇文章,您应该能够遍历行并通过完全添加单元格值来获得总数。