C# EPPLUS 无法获取单元格值

标签 c# .net epplus

我的单元格“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 并将其保存在 double 变量中?

编辑:我的代码,文件路径中的工作表的“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 的值来自公式

最佳答案

使用行和列索引获取单元格值。该值在字符串中。 将字符串值转换为 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);

关于C# EPPLUS 无法获取单元格值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33727093/

相关文章:

c# - MVVM 的通用接口(interface)

C# 是否可以自定义/覆盖保留其类名的类?

c# - 如何在 .Net Core ActionFilterAttribute 中使用依赖注入(inject)?

vb.net - 使用 EPPlus 的 Excel 工作表标题

Powershell:存储在变量中的属性

c# - Xamarin Android - Task.Run 与 Task.Factory.StartNew 和 Thread.CurrentPrincipal

c# - 触发ListViewItem命令

.net - WPF 数据网格 : resizing columns

java - 函数名称约定(任何类型的 PL)

c# - 使用 EPPLUS c# 在一页上适合所有列