C# EPPLUS 无法获取单元格值
C# EPPLUS can't get cell value
我的单元格 "A1" 的值为 1.00,由公式设置
我想把这个值保存到一个变量中。
我试过了:
ws.Cells["A1"].Value
ws.Cells["A1"].Text
ws.Cells["A1"].GetValue<double>
ws.Cells["A1"].Value.ToString()
None 这些工作因为我收到错误或我根本没有得到我的号码(console.writeline 输出空白)。
我试着在线搜索,我得到了我上面尝试过的结果。我知道我引用的单元格是正确的,因为我实际上可以很好地设置值。
那么我如何实际获取值 1.00 并将其保存在双精度变量中?
编辑:我的代码,文件路径中的工作表的 "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 的值来自公式
使用行和列索引获取单元格值。该值在字符串中。
将字符串值转换为双精度值。
试试这个:
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);
抱歉打扰了。通过 ws.Cell["A1"].Calculate() 我可以获得该值。愚蠢的我忽略了那个事实
我的单元格 "A1" 的值为 1.00,由公式设置
我想把这个值保存到一个变量中。
我试过了:
ws.Cells["A1"].Value
ws.Cells["A1"].Text
ws.Cells["A1"].GetValue<double>
ws.Cells["A1"].Value.ToString()
None 这些工作因为我收到错误或我根本没有得到我的号码(console.writeline 输出空白)。
我试着在线搜索,我得到了我上面尝试过的结果。我知道我引用的单元格是正确的,因为我实际上可以很好地设置值。
那么我如何实际获取值 1.00 并将其保存在双精度变量中?
编辑:我的代码,文件路径中的工作表的 "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 的值来自公式
使用行和列索引获取单元格值。该值在字符串中。 将字符串值转换为双精度值。
试试这个:
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);
抱歉打扰了。通过 ws.Cell["A1"].Calculate() 我可以获得该值。愚蠢的我忽略了那个事实