在ASP.NET中,关于SQL导出到EXCEL的问题
发布网友
发布时间:2022-04-27 15:58
我来回答
共2个回答
热心网友
时间:2022-04-27 17:27
乱码问题改成
StreamWriter sw = new StreamWriter("d:\\test.xls",false,System.Text.Encoding.Default);
数据都在第一个单元格的问题,要修正为下面语句
foreach (DataRow dr in dt.Rows)
{
values = dr.ItemArray;
for (int i = 0; i < dt.Columns.Count; i++)
{
w.Write(values[i]);
w.Write('\t'); //修改语句
}
w.Write("\r\n"); //修改语句
}
以上代码均调试通过。
另外不推荐你这样导出excel,因为虽然扩展名是xls,其实内容还是text文件,Excel2007打开时要询问格式问题,而且表格无法拥有丰富的格式。
建议使用微软Office中间件——SOAOffice,语法简洁、功能强大,更加SQL动态产生图文并茂的excel,并且能够直接显示在浏览器里
热心网友
时间:2022-04-27 18:45
可以导出到EXCEL文件中,并且是乱码,说明是数据编码问题.
你把StreamWriter sw = new StreamWriter("d:\\test.xls"); 改成这样:
StreamWriter sw = new StreamWriter("d:\\test.xls", System.Text.Encoding.Default);
w.Write(dt.Columns[i]); 也同样改成: w.Write(dt.Columns[i], System.Text.Encoding.Default);
w.Write();有好几种重载方式,其中有一种就是选择编码的.
应该可以,我写文本分割器时遇到过这类问题,呵呵
祝你好运啦!