日期:2014-05-17  浏览次数:20669 次

c#从sqlserver数据库导出的csv文件excel打开为乱码
从网上查了,用vs 2010开发环境,sql server 2000,C#写的文件编码为utf-8,而excel 2007只支持ansi编码,用ultraedit打开文件并保存为ansi编码,excel打开就正常了,有什么办法可以编程解决这个问题?比如设置c#写的文件的编码方式,请高手指点。

------解决方案--------------------
C# code

    private static void DownLoadExcel(string path,Page  page)
        {
    System.IO.FileInfo file = new System.IO.FileInfo(path);
    page.Response.Clear();
    page.Response.Charset = "GB2312";
    page.Response.ContentEncoding = System.Text.Encoding.ASCII;
    //page.Response.ContentEncoding = System.Text.Encoding.UTF8;
    page.Response.AddHeader("Content-Disposition", "attachment; filename=" + page.Server.UrlEncode(file.Name));
    page.Response.AddHeader("Content-Length", file.Length.ToString());
    page.Response.ContentType = "application/ms-excel";
    page.Response.WriteFile(file.FullName);
    page.Response.Flush();
    page.Response.End();
 }