LinqToExcel 和货币格式(文化)

LinqToExcel and currency format (Culture)

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

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

我还不能 post 图片,但是 excel 中的值是 9999 格式,如 9.999,00 (pt-BR)

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

但是在具有 en-US 区域性的 IIS 服务器上,它读取的值与 9,999.00 相同,因此当我尝试将 is 转换为十进制时,出现异常。

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

我正在使用 C# VS2013。

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

解决方法是在 excel 文件中使用 VBA 宏,以便在文件 saved/closed.[=10= 时将空字符串替换为 0(零) ]