【问题标题】:Excel download for chinese printing unwanted characters?Excel下载中文打印不需要的字符?
【发布时间】:2011-01-17 01:39:31
【问题描述】:

我正在尝试将中文数据从数据库下载到 Excel。但是数据在 Excel 中以不同的字符出现,就像这样

œèŽžå¸‚è¯šé€šè®¡ç®—æœºæŠ€æœ¯å’¨è¯¢æœåŠ¡æœ‰é™å...¬å¸

这是我下载excel的代码。我不明白我的代码有什么问题。

 dg.AllowPaging = False
        dg.AllowSorting = False
        dg.AllowCustomPaging = False
        dg.AutoGenerateColumns = True

        dg.HeaderStyle.Font.Bold = True
        dg.HeaderStyle.Font.Underline = True

        dg.DataSource = sqlDs.Tables(0)
        dg.DataBind()
        dg.RenderControl(htmlWrite)

        Response.Clear()
        Response.ClearContent()
        Response.AddHeader("content-disposition", "attachment;filename=FullExtract_" & Now.Year.ToString & Now.Month.ToString & Now.Day.ToString & ".xls")
        Response.ContentType = "application/octet-stream"
        'Response.ContentType = "application/excel"
        Response.BinaryWrite(System.Text.UnicodeEncoding.UTF8.GetBytes(stringWrite.ToString()))
        Response.End()

【问题讨论】:

    标签: c# .net asp.net vb.net excel


    【解决方案1】:

    没有尝试过使用中文,但我在使用土耳其语数据时遇到了类似的问题。下面的代码对我来说效果很好。您可以找到详细信息here。希望这会有所帮助。

    Response.Clear();
    Response.AddHeader("content-disposition","attachment;filename=Test.xls");   
    Response.ContentType = "application/ms-excel";
    Response.ContentEncoding = System.Text.Encoding.Unicode;
    Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble());
    
    System.IO.StringWriter sw = new System.IO.StringWriter();
    System.Web.UI.HtmlTextWriter hw = new HtmlTextWriter(sw);
    
    FormView1.RenderControl(hw);
    
    Response.Write(sw.ToString());
    Response.End();
    

    【讨论】:

      猜你喜欢
      • 2017-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-04
      • 2012-11-27
      • 1970-01-01
      • 2022-11-13
      相关资源
      最近更新 更多