我的单元格“A1”的值为1.00,由公式
设置我想将此值保存到变量。
我试过了:
ws.Cells["A1"].Value
ws.Cells["A1"].Text
ws.Cells["A1"].GetValue<double>
ws.Cells["A1"].Value.ToString()
这些都不起作用,因为我得到错误或者我根本没有得到我的号码(console.writeline输出空白)。
我尝试在线搜索,我得到了上面尝试的内容。我知道我正在正确引用单元格,因为我实际上可以正确设置该值。
那么我如何实际获得1.00的值并将其保存为双变量?
编辑:我的代码,其中filePath中的工作表的“A1”值为1.00
using (var pck = new ExcelPackage(filePath))
{
var ws = pck.Workbook.Worksheets[1];
var test1 = ws.Cells["A1"].Value;
var test2 = ws.Cells["A1"].Text;
var test3 = ws.Cells["A1"].GetValue<double>();
Console.WriteLine(test1);
Console.WriteLine(test2);
Console.WriteLine(test3);
}
输出是:
[blank]
[blank]
0
EDIT2:1.00的值来自公式
答案 0 :(得分:2)
使用行和列索引获取单元格值。该值以字符串形式显示。 将字符串值转换为double。
试试这个:
var ws = pck.Workbook.Worksheets[1];
//var test1 = ws.Cells[rowIndex, columnIndex].Value;
//For cell A1 - rowIndex is 1, columnIndex is 1
var test1 = ws.Cells[1, 1].Value;
double dValue = Convert.ToDouble(test1);
答案 1 :(得分:2)
抱歉麻烦。通过做ws.Cell [&#34; A1&#34;]。Calculate()我可以得到值。愚蠢我省略了这个事实