StreamWriter.WriteLine()函数生成一个“”字符

时间:2011-06-21 13:52:46

标签: c# excel streaming

我在Excel文件中写了一些字符串。有时打电话给

StreamWriter.WriteLine()  

函数意外地创建了一个“”字符。

知道为什么吗?

更新

代码:

StreamWriter writer = new StreamWriter(File.Create(outFile)); 
string headerline = ""; 
foreach (DataColumn colum in reportContents.Columns) 
{ 
    headerline = headerline + '"' + row[colum].ToString() + '"' + ',';
} 
writer.WriteLine(headerline);

输出: 个人保护|退休后储蓄|退休前养老金|税收&遗产规划

预期产出:个人保护|退休后储蓄|退休前退休金|税收&遗产规划

我得到了解决方案: 我需要在StreamWriter中指定默认编码,如下所示,它可以工作。

StreamWriter writer = new StreamWriter(File.Create(outFile),Encoding.Default);

shuvra

2 个答案:

答案 0 :(得分:3)

实际上并没有创建Â字符 - 它只是用不同的编码来编写数据。如果查看StreamWriter构造函数重载(http://msdn.microsoft.com/en-us/library/system.io.streamwriter.aspx),您可以指出希望StreamWriter将数据写入的编码。

如果您之前没有处理过编码:Joel在http://www.joelonsoftware.com/articles/Unicode.html写了一篇关于它的好文章

答案 1 :(得分:1)

代码的字符集应为“utf-8”。