ASP.NET GridView导出Excel 打印预览换行显示不全
2014-02-07 12:05
591 查看
最近发现一个问题,我的一篇博客(Asp.net中把DataTable或DataGrid导出为Excel)中提到的导出Excel的方法,导出的Excel文档,如果单元格的内容比较满(未换行),打印预览的时候,这个单元格会自动换行,而且行高不变,导致显示不全。
最懒的办法就是在单元格加一个换行了。但是这个换行也不是这么好加的,试过 <br/> /r/n 等等,都没有用。最后大海捞针捞到一篇文章,才解决了。
解决方案如下:
在需要换行的地方,插入
基于DataTableToExcel的示例:
参考:http://www.jb51.net/article/16837.htm
有人说这是一种“误差”,是由于Excel的“所见即所得”功能和打印控制程序的不一致造成的。(百度)
最懒的办法就是在单元格加一个换行了。但是这个换行也不是这么好加的,试过 <br/> /r/n 等等,都没有用。最后大海捞针捞到一篇文章,才解决了。
解决方案如下:
在需要换行的地方,插入
<br style='mso-data-placement:same-cell;'/>
基于DataTableToExcel的示例:
DataTable.Rows[0]["商品名称"] += "<br/>"; //注意<br/>中的尖括号会被转义
gvExport.RenderControl(htmlWriter); curContext.Response.Clear(); //换行转换 curContext.Response.Write("<meta http-equiv=\"content-type\" content=\"application/ms-excel; charset=gb2312\"/>" + strWriter.ToString().Replace("<br/>", "<br style='mso-data-placement:same-cell;'/>")); curContext.Response.End();
参考:http://www.jb51.net/article/16837.htm
相关文章推荐
- asp.net将Gridview导出Excel(身份证号的正确显示)
- ASP.NET通过流方式导出EXCEL并且单元格换行
- ASP.NET中的GridView导出为EXCEL完整介绍
- Asp.net 2.0 GridView数据导出Excel文件(示例代码下载)
- ASP.NET 导出Panel、GridView控件到Excel或Word
- ASP.NET 2.0,C#----利用GridView控件导出其他文件(导出Excel,导出Word文件)
- ASP.NET 2.0中将 GridView 导出到 Excel 文件中
- asp.net GridView导出到Excel代码
- ASP.NET使用GridView导出Excel实现方法
- asp.net 将本地excel表导入网页 并在gridview中显示
- asp.net 2.0中,gridview导出到excel
- ASP.NET中GridView数据导出到Excel
- ASP.NET 2.0中将 GridView 导出到 Excel 文件中
- ASP.NET将GridView中的数据导出到Excel文件中(转载)
- ASP.NET 2.0,C#----利用GridView控件导出其他文件(导出Excel,导出Word文件)
- Asp.net 2.0 GridView数据导出Excel文件(示例代码下载)
- Asp.net 2.0 GridView数据导出Excel文件(示例代码下载)
- Asp.net Gridview导出Excel
- 在ASP.NET中将dataset数据保存到excel,GridView导出到excel
- ASP.NET GridView导出数据到Excel