求教:gridview导出Excel后,表格的列宽如何设成最适应列宽。

问题描述

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修改扩展名

时间: 2024-08-28 11:53:56

求教:gridview导出Excel后,表格的列宽如何设成最适应列宽。的相关文章

flex4.0-flex 导出excel后的时间和原时间有差异

问题描述 flex 导出excel后的时间和原时间有差异 大神们,求指教: 我用flex 4.6开发了一个小程序,界面上查询出的时间显示一切正常,但是通过 导出为excel后,表格中的时间会莫名其妙的比原时间少16小时. 解决方案 人的差异在于业余时间人的差异在于业余时间

ASP.NET使用GridView导出Excel实现方法_实用技巧

本文实例讲述了ASP.NET使用GridView导出Excel实现方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: /// <summary>  /// 将DataTable数据导出到EXCEL,调用该方法后自动返回可下载的文件流  /// </summary>  /// <param name="dtData">要导出的数据源</param>  public static void DataTable1Excel(S

关于利用服务器控件GridView导出Excel问题

问题描述 利用GridView导出excel,方法基本相同,遇到一问题我有一列数据类型为nvarchar(20)型,但是保存的数据全部是数字,导出到excel时显示有问题如:2.00807E+16双击显示详细时后面有错误,请问应该怎么整法才不会以科学计算法导出?顺便列出导出的方法.publicvoidOutExcel(DataTabledt,Pagepage){GridViewgv=newGridView();page.Response.Clear();page.Response.AddHead

方法-求大神,用javascript导出Excel后,怎么用JS对某些单元格设置计算函数?

问题描述 求大神,用javascript导出Excel后,怎么用JS对某些单元格设置计算函数? 求大神,用javascript导出Excel后,要对某些单元格设置计算函数, 但是JS方法里面该怎么写语句能具体设置到指定单元格的计算函数? 求大神解答,谢谢 函数比如=AVERAGE(A9: D17)*E1+50 解决方案 .value="=函数" 解决方案二: js没法直接导出excel,需要提交到服务器,用vba poi一类的库产生excel 解决方案三: js不能caozuoexce

winform导出excel后datagridview日期列格式被改变的问题

问题描述 先看看我的导出方法///<summary>///将datagridview中的数据导出Excel///</summary>///<paramname="gridView">要导出的datagridview</param>///<paramname="bar">进度条控件</param>///<paramname="startIndex">从datagri

GridView导出Excel实现原理与代码_实用技巧

为了完成领导交代的任务,这几天都在做数据展现,因为时间比较紧,所以也没做太复杂,使用GridView来展示数据库表.几乎没对GridView的格式做什么设定,从配置文件中加载SQL,跑出数据就直接绑定到GridView.发现了一些问题,比如GridView的自动绑定列的宽度是没法设定的,而此时GridView的表格输出是不带宽度信息的,所以导致表格列比较多的时候显示起来会挤到页面里面很难看,由于表的列数并不是固定的,所以也没法很简单的用模版列的方式做,最后只好直接将表格宽度设置成一个很大的数了事

winform如何实现导出excel后,打开该excel文件,并在里面再次进行操作?

问题描述 现在业务有个需求.导出2份excel后(内容不同,一份是数据,一份是图片),再将两份的内容统一到一份excel里面,内容分为两个不同的sheet.小弟没对excel操作那么深入.最多也就知道如何导出.可是导出后的读取以及后续操作.实在不知道该如何做!请大家帮个忙!谢谢 解决方案 解决方案二:帮帮忙啊~

GridView导出excel问题

问题描述 Gridview里面显示的数据是截取的,以解决方案二: 解决方案三:...的样式,但是导出excel也会导出不全的数据.我的Gridview是用的PageDataSource类分的页.能不能把PageDataSource的当前索引的数据导出到excel,怎么做? 解决方案 解决方案四:protectedvoidPage_Load(objectsender,EventArgse){SqlConnectioncon=newSqlConnection("DataSource=.;Initia

在datagridview里第一列设成了checkbox列,如果勾选了每行的checkbox,那么该怎样让该行的颜色都变暗?该怎么实现?

问题描述 在datagridview中,把第一列全设成了textbox,想做到每勾选一行,该行所有列颜色都变暗,该如何实现,谢谢各位了!怎样取得勾选的行中的数据?? 解决方案 解决方案二:http://www.syncfusion.com/FAQ/WindowsForms/FAQ_c44c.aspx#q754q//codeassumesyouhaveaDataSetnamedmyDataSet,atablenamed"EastCoastSales"andaDataGridmyDataG