首页 新闻 会员 周边

导出EXCEL按钮的问题

0
[已解决问题] 解决于 2011-03-25 09:44

我做了一个导出EXCEL的按钮,代码如下,有两个问题。
1.导出的EXCEL是2003版的,用office2003打开是正常的,但是用office2010打开就乱码,直接在office2003复制黏贴到office2010的新建文档里面也是乱码,有没有办法解决,正常来说2003的文件在2010打开是没问题的。他的提示是写着“单元格数据太大”,考虑到有的用户可能只装2003或只装2007或只装2010,所以导出的文件要做到全兼容才行.
2.导出的文字字体是Arial Unicode MS,这个有没有办法改,改成宋体之类,当然这个不是很关键,导出来后自己手动改也可以,关键是上面那个问题。

后台代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Drawing;
using System.IO;
using System.Text;




public partial class test : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
  {

  }
  protected void Button1_Click(object sender, EventArgs e)
  {
  Export("application/ms-excel", "bijiben.xls");
  }
  private void Export(string FileType, string FileName)
  {
  Response.Charset = "GB2312";
  Response.ContentEncoding = System.Text.Encoding.UTF7;
  Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString());
  Response.ContentType = FileType;
  this.EnableViewState = false;
  StringWriter tw = new StringWriter();
  HtmlTextWriter hw = new HtmlTextWriter(tw);
  GridView1.RenderControl(hw);
  Response.Write(tw.ToString());
  Response.End();
  }
  public override void VerifyRenderingInServerForm(Control control)
  {
  }

}

xzf_fancy的主页 xzf_fancy | 初学一级 | 园豆:28
提问于:2011-03-21 10:59
< >
分享
最佳答案
0

这种导出应该是导出HTML吧。右键用记事本打开全是table代码?应该高级的不识别这种HTML伪EXCEL格式了吧。

桔子人 | 菜鸟二级 |园豆:410 | 2011-03-22 14:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册