asp.net生成的EXCEL文件在我的WIN XP系统中,文件名是完整的长度。但是怎么在WIN2003系统中生成的EXCEL文件名被截取成了固定的长度,也就是只剩下后面的一部分了。这是什么原因?怎么解决?

解决方案 »

  1.   

    我又看了下,感觉是代码的问题,大家看看是不是我注释下面的那行代码的原因
            string excelfilename = "河北工程大学科信学院分省、分文理、分专业录取分数统计.xls";
            try
            {
                if (File.Exists(file1))
                    File.Delete(file1);
                File.Copy(file, file1);
                if (CreatExcel(file1))
                {
                    Response.Clear();
                    Response.Buffer = true;
                    Response.Charset = "gb2312";
                    
                    //是不是这句话的原因
                    Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(excelfilename, System.Text.Encoding.UTF8));
                    
                    Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
                    Response.ContentType = "application/ms-excel";
                    this.EnableViewState = false;
                    Response.WriteFile(file1);
                    Response.Flush();
                    File.Delete(file1);
                    Response.End();
                }
            }
      

  2.   

     Response.AppendHeader("Content-Disposition", "attachment;filename=" + excelfilename);
    你换成这句试试
      

  3.   

    http://blog.csdn.net/small5e4444/archive/2010/07/15/5738212.aspx
    看看能不能帮你,这个代码我在2003中用好使,你试试吧