【问题标题】:Currency export to Excel results in  character for empty space将货币导出到 Excel 会导致空格出现  字符
【发布时间】:2011-07-27 16:42:39
【问题描述】:

我实际上是将网页导出为 Excel 格式。导出工作正常,但是当导出格式化为 ToString("C") 的货币值时,会导致在 Excel 单元格中在货币值中的任何空格之前显示 Â 字符。 例如: 十进制发票 = 322800.38; 十进制分配 = 695.55;

Label1.Text = Invoice.ToString("C"); Label2.Text = Allocated.ToString("C");

导出后excel中的值为:R 322×827,27(错误) 和 R 695,55(正确)

有什么想法吗? 谢谢

【问题讨论】:

  • System.IO.File.WriteAllText("path", "content", System.Text.Encoding.UTF8);
  • 参考stackoverflow.com/questions/1679656/… Response.ContentEncoding = System.Text.Encoding.Unicode; Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble());

标签: c# asp.net


【解决方案1】:

这实际上是由于对用于保存它的编码的错误解释造成的,当您有一个硬空间(160)时,通常在网页中以  给出。看起来网页被编码为 UTF8,但您正在将其加载为 windows 'ANSI' 格式。

这完全取决于您在做什么以及如何导出,但您需要更改网页的编码,或者让 excel 使用导入时导出的编码。

【讨论】:

  • 你能举个例子 - 如何在 excel 导出时指定编码 - 这将使这个答案更完整
  • 参考stackoverflow.com/questions/1679656/… Response.ContentEncoding = System.Text.Encoding.Unicode; Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble());
猜你喜欢
  • 2017-10-25
  • 2016-11-23
  • 1970-01-01
  • 2013-09-24
  • 2011-06-07
  • 1970-01-01
  • 1970-01-01
  • 2013-06-01
  • 1970-01-01
相关资源
最近更新 更多