C#导出的TXT文件改成EXCEL后中文字符乱码

ublicvoidCreateFile(){try{#region在起始路径中保存excel文本stringfilename=string.Format(path_fil... ublic void CreateFile()
{
try
{
#region 在起始路径中保存excel文本
string filename = string.Format(path_files+"\\" +DateTime.Now.ToString("yyyy:MM:dd:HH")+".xls");
//if (!File.Exists(filename))
//{
// FileStream fs1 = new FileStream(filename, FileMode.Create, FileAccess.Write);
// StreamWriter sw = new StreamWriter(fs1);
// sw.WriteLine("" + date1);//要写入的信息。
// sw.Close();
// fs1.Close();
//}

FileInfo fi = new FileInfo(filename);
if (!fi.Exists)
{
using (StreamWriter sw = fi.CreateText())
{
sw.WriteLine("{0}", "Time:" + "\tRoad1" + "\tRoad2" + "\tRoad3" + "\tRoad4" + "\troad5" + "\tRoad6" + "\tRoad7" + "\tRoad8" + "\tRoad9" + "\tRoad10" + "\tRoad11" + "\tRoad12" + "\tRoad13" + "\tRoad14" + "\tRoad15" + "\tRoad16");
sw.WriteLine(DateTime.Now.ToString("yyyy\\-MM\\-dd HH-mm") + "\t" + textBox1.Text.Trim() + "\t" + textBox2.Text.Trim() + "\t" + textBox3.Text.Trim() + "\t" + textBox4.Text.Trim() + "\t" + textBox5.Text.Trim() + "\t" + textBox6.Text.Trim() + "\t" + textBox7.Text.Trim() + "\t" + textBox8.Text.Trim() + "\t" + textBox9.Text.Trim()
+ "\t" + textBox10.Text.Trim() + "\t" + textBox11.Text.Trim() + "\t" + textBox12.Text.Trim() + "\t" + textBox13.Text.Trim() + "\t" + textBox14.Text.Trim() + "\t" + textBox15.Text.Trim() + "\t" + textBox16.Text.Trim());
sw.Close();
}
}
else
{
using (StreamWriter sw = fi.AppendText())
{
sw.WriteLine(DateTime.Now.ToString("yyyy\\-MM\\-dd HH-mm") + "\t" + textBox1.Text.Trim() + "\t" + textBox2.Text.Trim() + "\t" + textBox3.Text.Trim() + "\t" + textBox4.Text.Trim() + "\t" + textBox5.Text.Trim() + "\t" + textBox6.Text.Trim() + "\t" + textBox7.Text.Trim() + "\t" + textBox8.Text.Trim() + "\t" + textBox9.Text.Trim()
+ "\t" + textBox10.Text.Trim() + "\t" + textBox11.Text.Trim() + "\t" + textBox12.Text.Trim() + "\t" + textBox13.Text.Trim() + "\t" + textBox14.Text.Trim() + "\t" + textBox15.Text.Trim() + "\t" + textBox16.Text.Trim());
sw.Close();
}
}
展开
 我来答
cz790365848
2013-07-13 · TA获得超过110个赞
知道小有建树答主
回答量:151
采纳率:66%
帮助的人:79.4万
展开全部
你在sw操作的时候没有对导出的内容做统一的编码,会造成乱码,统一编码,text.encoding.default或者text.encoding.utf8等等都是可以的
更多追问追答
追问
sw.Close(Text.encoding.utf8);是这样写?可是有错误啊
追答
不是这样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
昂哥的知识茶铺
2013-07-15
知道答主
回答量:10
采纳率:0%
帮助的人:7.7万
展开全部
using (StreamWriter sw = fi.CreateText())改成
using (StreamWriter sw = new StreamWriter(filename, false, Encoding.GetEncoding("gb2312")))
即可
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式