excel - 从 Excel 单元格读取

标签 excel epplus

我正在使用EPPlus用于从 .xlsx 文件读取的包。我需要从单元格中读取 TimeSpan 对象。 Excel 单元格将包含“hh:mm”格式的数据,例如:“09:00”或“18:30”,不带引号。

这是我的代码:

string myString = workSheet.Cells[1,1].Value.ToString();
double d = double.Parse(myString);
DateTime dt = DateTime.FromOADate(d);
TimeSpan ts = new TimeSpan(dt.Hour, dt.Minute, dt.Second);

对于 Excel 文件 myString 中的“09:00”或“08:30”数据,myString 分别包含“0.375”或“0.354166666666667”,并且可以按预期计算 ts。 但是对于 Excel 文件 myString 中的“10:00”,包含 “30/12/1899 10:00:00 AM”并且 double 值的解析失败,因此无法计算 ts。

我不确定为什么会出现不一致的情况。如何一致地从 Excel 单元格(更准确地说是具有通用格式的单元格)读取 double 值?请帮忙。

这是我的简化代码(根据 Siddharth Rout 的建议):

string myString = workSheet.Cells[1,1].Text.ToString();
TimeSpan ts = TimeSpan.Parse(myString);

到目前为止,它正在使用各种值。

最佳答案

这是我的简化代码(根据 Siddharth Rout 的建议):

string myString = String.Format("{0}", workSheet.Cells[1,1].Text);
TimeSpan ts = TimeSpan.Parse(myString);

到目前为止,它正在使用各种值。

关于excel - 从 Excel 单元格读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18983399/

相关文章:

php - 将值导出为 Excel 文件格式

vba - 将特定单页另存为 .csv

c# - 如何使用 EPplus 在 excel 中获取部分单元格样式?

.net - 如何使用 EPPlus 编辑现有表格

VBA 如何创建 ListObjects 数组

excel - 有没有办法以编程方式清除 EXCEL VBA 事件队列?

c# - 保存后 Excel 格式损坏

c# - EPPlus 多个选项卡 c#

excel - 调用子程序时出错 "Expected Variable or Procedure, not Module."

c# - 使用图表辅助轴会导致 x 轴和主要 y 轴问题 (Excel)