Silverlight3.0 导数据到Excel 出现中文乱码

sez8852 2010-02-05 03:48:00
mSaveFileDialog = new SaveFileDialog();
mSaveFileDialog.Filter = "(Excel文件)*.xls|*.xls|*.txt|*.txt";
mSaveFileDialog.FilterIndex = 1;
if (mSaveFileDialog.ShowDialog().Value)
{
string mres = "";
string mWriteLine = "机器名称\t卖的数量\t赠的数量\t卖的钱数(RMB)";
mres += mWriteLine + "\r\n";// \n
foreach (OI.CETB_Customer_Collection temp in mCollectionList)
{
mWriteLine = temp.GlucometerCaption + "\t" + temp.CountSell + "\t" + temp.CountSend + "\t" + temp.Money;
mres += mWriteLine + "\r\n";
}
Stream aStream = mSaveFileDialog.OpenFile();
byte[] Bytes = (new UTF8Encoding(true).GetBytes(mres));
aStream.Write(Bytes, 0, Bytes.Length);
aStream.Close();
}

我保存成 XT文档时能正常保存,格式也正确
但我要保存到Excel中,中文的地方就出现乱码?怎么解决啊
...全文
235 3 打赏 收藏 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xingjunli 2010-02-20
  • 打赏
  • 举报
回复
通常是编码格式导致的,解决了就好
sez8852 2010-02-20
  • 打赏
  • 举报
回复
自己解决了
只要把if (mSaveFileDialog.ShowDialog().Value) 里的内容改为下面的代码就可以

Stream aStream = mSaveFileDialog.OpenFile();
StreamWriter mWrite = new StreamWriter(aStream, Encoding.Unicode);
mWrite.WriteLine("机器名称\t卖的数量\t赠的数量\t卖的钱数(RMB)");
foreach (OI.CETB_Customer_Collection temp in mCollectionList)
{
mWrite.WriteLine(temp.GlucometerCaption + "\t" + temp.CountSell + "\t" + temp.CountSend + "\t" + temp.Money);
}
mWrite.Flush();
mWrite.Close();
aStream.Close();

流的运用。
jv9 2010-02-06
  • 打赏
  • 举报
回复
byte[] Bytes = (new UTF8Encoding(true).GetBytes(mres));

可以试试用其他的编码,这个问题,没有试过,UTF8的编码转换后是容易出现乱码。

参考这篇文章,试试
http://www.cnblogs.com/WCFGROUP/archive/2009/06/10/1500187.html

8,757

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧