【问题标题】:LinqToExcel and currency format (Culture)LinqToExcel 和货币格式(文化)
【发布时间】:2015-08-06 21:11:30
【问题描述】:

我在我的应用程序中使用 LinqToExcel 有一段时间了,并且一直在工作。

但我在从 Excel 中读取货币字符串时遇到问题。

我还不能发布图片,但 excel 中的值是 9999,格式类似于 9.999,00 (pt-BR)

在我的机器中本地 LinqToExcel 可以很好地读取这个值(9999),我可以将它转换为十进制。

但是在具有 en-US 文化的 IIS 服务器上,它读取的值与 9,999.00 相同,因此当我尝试将 is 转换为十进制时,我得到了一个异常。

有没有办法为 LinqToExcel 或类似的东西设置默认文化?因为我不想替换,. 实在是太丑了。

我正在使用 C# VS2013。

【问题讨论】:

    标签: c# type-conversion currency culture linq-to-excel


    【解决方案1】:

    实际上问题在于 excel 的第一行都是空字符串,因此如果用户将这些字段留空,LinqToExcel 将假定字符串作为这些列的类型,返回掩码输入 (9.999,00) 而不是整数值(9999)。

    解决方法是在保存/关闭文件时使用 Excel 文件中的 VBA 宏将空字符串替换为 0(零)。

    【讨论】:

      猜你喜欢
      • 2016-04-22
      • 2016-04-25
      • 2012-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多