.Net数据集导出到Excel样式细节---------------摘自别人的
本文的目的是总结一些在做Excel导出功能时需要注意的样式细节。使用环境是Asp.Net,数据集的形式是Html Table,Excel还是识别一些CSS代码的,所以我们就来总结一下。
1.记得为Table添加样式style="border-collapse:collapse;",这样使得表格边框自动合并,是边框不至于过粗。
2.如果为表格加细边框,不要使用style="border:solid 1px Black;",请使用style="border:solid .5pt Black;"。(使用前者的话,在Excel的边框显示效果不佳)
3.换行的样式为<br style="mso-data-placement:same-cell;" />。(没有为<br />标记使用以上样式的话,在Excel将表现为另起一行)
4.表格格式为文本的样式为style="mso-number-format: '\@';"。
5.在HTML中可以使用复合样式class='a b',但是Excel只是别单个样式,即class='a'或者class='b',如果使用复合样式则显示时不会载入任何样式。
6.Excel页面设置,在文档没有出现自动换行的前提下,这个打印样式每页的行数是固定的,如A4纵向:44行,A4横向30行,A3纵向71行,A3横向47行。
7.通过Response.Write方式导出到Excel,对文档页面进行设置,需要手动添加@page样式,设置PaperSizeIndex属性。直接贴代码好了:
case "A3纵向":
pageStyle = "<style><!--table @page{margin:1.0in .75in 1.0in .75in;mso-header-margin:.5in;mso-footer-margin:.5in;} --></style>";
PaperSizeIndex = "8";
break;
case "A3横向":
pageStyle = "<style><!--table @page{margin:1.0in .75in 1.0in .75in;mso-header-margin:.5in;mso-footer-margin:.5in;mso-page-orientation:landscape;} --></style>";
PaperSizeIndex = "8";
break;
case "A4纵向":
pageStyle = "<style><!--table @page{margin:1.0in .75in 1.0in .75in;mso-header-margin:.5in;mso-footer-margin:.5in;} --></style>";
PaperSizeIndex = "9";
break;
case "A4横向":
pageStyle = "<style><!--table @page{margin:1.0in .75in 1.0in .75in;mso-header-margin:.5in;mso-footer-margin:.5in;mso-page-orientation:landscape;} --></style>";
PaperSizeIndex = "9";
break;
8.通过Response.Write方式导出到Excel时,如果目标是一个HTML控件(非服务器端),需要先添加runat属性,然后以下方法获取控件的InnerHTML代码。
System.IO.StringWriter sw = new System.IO.StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
YourHtmlControl.RenderControl(htw);
记得加上
public override void VerifyRenderingInServerForm(Control control){}
9.通过Response.Write方式导出到Excel时出现乱码的一种情况是页面的编码格式和导出Excel方法中的页面编码格式不一致。
导出方法:
page.Response.Charset = "utf-8";
page.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
page.Response.ContentType = "application/ms-execl";
页面导出:
string excelText = "<meta http-equiv=\"content-type\" content=\"application/ms-excel;charset=UTF-8\" />" + LblResult.Text;
注意:两段代码中的编码格式要相同,即要么都是‘UTF-8’,要么都是‘GB2312’。
补充:样式细节,可以在导出后的Excel文件中,选择左上角文件->网页预览->查看源文件,观察头文件可以学习到更多。
.Net数据集导出到Excel样式细节---------------摘自别人的的更多相关文章
- sas 数据集导出到excel
PROC EXPORT DATA= Loan.BOM_FILENAME_2 OUTFILE= "D:\output.xls" DBMS=EXCEL REPLAC ...
- JS 将Table内容导出到Excel(样式设计)
转载请注明来源:https://www.cnblogs.com/hookjc/ function saveAsExcel(tableID){ var tb = new TableToExcel(tab ...
- DataSet数据导出为Excel文档(每个DataTable为一个Sheet)
Web项目中,很多时候须要实现将查询的数据集导出为Excel文档的功能,很多时候不希望在工程中添加对Office组件相关的DLL的引用,甚至有时候受到Office不同版本的影响,导致在不同的服务器上部 ...
- Excel报表开发(本节主要讲述导出到Excel操作)
一.Excel导入到GridView以及数据库操作比较简单,这儿不做过多讲解,需要注意的有二点: 1.设置IMEX=1将强制混合数据转换为文本. 2.解决Excel驱动程序默认读取8行:将" ...
- asp.net数据导出到excel表格,并设置表格样式
1.首先在项目中添加引用
- C#将数据集DataSet中的数据导出到EXCEL文件的几种方法
using System; using System.Collections.Generic; using System.Text; using System.Data; using System.W ...
- phpStudy6——php导出可以设置样式的excel表格
前言: 一般的后台管理页面肯定少不了excel表格导出的功劳,尤其是那些电商平台的订单导入导出,用户列表的导入导出等,那么本文就介绍php是如何导出excel表格的. php导出excel方法有很多, ...
- DevExpress导出Excel样式设置
/// <summary> /// 导出到Excel /// </summary> /// <param name="gridControl"> ...
- nativeexcel数据集导出excel
nativeexcel数据集导出excel uses Dataset2Excel; procedure Tfdm.exportXLS(dataset: TDataSet);var xls: TData ...
随机推荐
- [Windows] 如何用编程的方式格式化硬盘
If memory serves, you're looking for SHFormatDrive(). Use the Format method of the Win32_Volume clas ...
- java中CompletionService的使用
java中CompletionService的使用 之前的文章中我们讲到了ExecutorService,通过ExecutorService我们可以提交一个个的task,并且返回Future,然后通过 ...
- 【linux三剑客】sed命令
sed - stream editor for filtering and transforming text sed 流编辑器 strem edition,实现对文件的增删改替换查是Linux中第二 ...
- Javascript中的string类型使用UTF-16编码
2019独角兽企业重金招聘Python工程师标准>>> 在JavaScript中,所有的string类型(或者被称为DOMString)都是使用UTF-16编码的. MDN DOMS ...
- 一文揭秘测试平台中是如何将测试用例一键转化Jmeter压测脚本
接上篇,一键转化将接口测试平台测试用例转化成Jmeter压测脚本思路,这里我首先在java 上面做了一个简单的实验,看看 转化的中间遇到的问题,这里呢,我只是给了一个简单的demo 版本, ...
- dij-spfa乱搞
以前见过一篇另类堆优化dij的题解,然而找不到了 那位作者称它为dij-spfa(大概是这个意思,然而确实很形象 这方法比较玄学,正确性没有严格证出来,然而对拍是验证猜想的最好途径 不过也可能并不玄学 ...
- andorid jar/库源码解析之Bolts
目录:andorid jar/库源码解析 Bolts: 作用: 用于链式执行跨线程代码,且传递数据 栗子: Task.call(new Callable<Boolean>() { @Ove ...
- tp5中提示错误A non well formed numeric value encountered
问题因为自动完成时间导致的 原来我的数据库是这样的 修改成下面这样就好了
- nginx源码安装方法
nginx源码安装方法 安装方法如下 1.安装nginx必要的源码依赖软件包. yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zli ...
- [hdu5218]DP-约瑟夫环变形
题意:n个人围成一圈,另外一个人最开始站在第一个人前面,每次从集合s里面随机选一个数x,这个人顺时针经过x个人后停下来,当前位置的前一个人出队,然后继续进行,求最后剩下的那个人的可能编号. 思路:由于 ...