页面里有一个按钮,点击,将页面上表格的内容保存到Excel中。关于这个Excel的名字问题,遇到了麻烦。代码如下:
    protected void Button1_Click(object sender, EventArgs e)
    {
        string fileName = questionnaire.QuestionnaireName;
        Response.Clear();
        Response.Buffer = true;
        Response.Charset = "GB2312";        Response.AppendHeader("Content-Disposition", "attachment;filename=\"" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8) + ".xls\"");
        Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
        Response.ContentType = "application/ms-excel";
        EnableViewState = false;
        Response.Write(ExportTale(ExcelTableHead, Table));
        Response.End();
    }问题是:questionnaire.QuestionnaireName是一个很长的中文名字,不能全部保存,被截断了。不知道怎么解决,难道不能用中文吗,还是因为长度的关系。高人指点

解决方案 »

  1.   

    应该可以使用中文
    我一直都导出中文的啊。
    首先绑定数据
    Response.Charset = "GB2312";
            Response.ContentEncoding = System.Text.Encoding.UTF7;
            string FileName = "称重查询.xls";
            Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString());
            Response.ContentType = "application/ms-excel";
            this.EnableViewState = false;
            StringWriter tw = new StringWriter();
            HtmlTextWriter hw = new HtmlTextWriter(tw);
            GridView1.RenderControl(hw);
            Response.Write(tw.ToString());
            Response.End();
      

  2.   

    fileName 是否正常Response.AddHeader("Content-Disposition", "attachment;   filename=" + System.Web.HttpUtility.UrlEncode("文件名", System.Text.Encoding.UTF8) + ".xls");
    Response.ContentEncoding = System.Text.Encoding.UTF7;
      

  3.   

    你可以看下我空间里写的excel操作
      

  4.   

    你这个questionnaire.QuestionnaireName实例 还是文件名啊
    文件名的话 
    直接使用中文就行