
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();
}
} 展开
{
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();
}
} 展开
2个回答
展开全部
你在sw操作的时候没有对导出的内容做统一的编码,会造成乱码,统一编码,text.encoding.default或者text.encoding.utf8等等都是可以的
更多追问追答
追问
sw.Close(Text.encoding.utf8);是这样写?可是有错误啊
追答
不是这样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
using (StreamWriter sw = fi.CreateText())改成
using (StreamWriter sw = new StreamWriter(filename, false, Encoding.GetEncoding("gb2312")))
即可
using (StreamWriter sw = new StreamWriter(filename, false, Encoding.GetEncoding("gb2312")))
即可
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询