问题描述
gridview导出Excel后,表格的列宽如何设成最适应列宽。还有,表格除了GridView的内容外,其余的空白表格没有网格线。求大神教教。谢谢了。急。protectedvoidButton1_Click(objectsender,EventArgse){Export("application/ms-excel","学生成绩报表.xls");GridView1.Enabled=true;}privatevoidExport(stringFileType,stringFileName){this.GridView1.Columns[14].Visible=false;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;StringWritertw=newStringWriter();HtmlTextWriterhw=newHtmlTextWriter(tw);GridView1.RenderControl(hw);Response.Write(tw.ToString());Response.End();}publicoverridevoidVerifyRenderingInServerForm(Controlcontrol){}
解决方案
解决方案二:
自己写个方法,自定义一个表格样式然后导出
解决方案三:
GridView导出Excel并进行格式化示例//对单元格字符串进行格式化处理protectedvoidGridView1_RowDataBound(objectsender,GridViewRowEventArgse){if(e.Row.RowType==DataControlRowType.DataRow){e.Row.Cells[3].Attributes.Add("style","vnd.ms-excel.numberformat:¥#,
解决方案四:
.00");}}//codego.net/tags/1/1///按指定格式定义输出的类型和文件名privatevoidExport(stringFileType,stringFileName){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;StringWritertw=newStringWriter();HtmlTextWriterhw=newHtmlTextWriter(tw);GridView1.RenderControl(hw);Response.Write(tw.ToString());Response.End();}//加载输出信息SqlConnectionsqlcon=newSqlConnection(ConfigurationManager.AppSettings["conStr"]);protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){bind();}}//显示事件处理privatevoidbind(){SqlDataAdaptermyda=newSqlDataAdapter("selecttop10GoodsIDas商品ID,GoodsNameas商品名称,GoodsIntroduceas商品介绍,GoodsPriceas商品价格fromtb_GoodsInfo",sqlcon);DataSetmyds=newDataSet();sqlcon.Open();myda.Fill(myds);sqlcon.Close();GridView1.DataSource=myds;GridView1.DataBind();}
解决方案五:
使用NPOI吧
解决方案六:
html里根本没有列的概念excel不过仅仅是能够打开而已你想设置列宽自适应,应该导出excel,而不是html修改扩展名