`

使用HTML,CSS快速导出数据到Excel

 
阅读更多

一般是导出到txt,csv或excel。txt和csv一般用在系统间的数据交换,

而excel一般有较好的显示效果,可以按照一定的模板导出,导出就不用再排版了,使用简单,如果是使用做报表一般都导出excel文件。

但是使用com组件导出到Excel数据很慢,有另一种生成excel文件的方式就是通过html和css快速导出数据同时并能设置样式,使用这种方式有两个优点:1是速度快,2是不需安装excel支持。

实现就是通过html可以直接转换成excel,有两个要点:一是显示出表格线,像ASP.net中直接通过Gridview导出excel都没有显示出表格

二是设置数据格式。

一、显示出表格线:
在html的head标记中加入以下代码:

<xml>
<x:ExcelWorkbook>
<x:ExcelWorksheets>
<x:ExcelWorksheet>
<x:Name>工作表标题</x:Name>
<x:WorksheetOptions>
<x:Print>
<x:ValidPrinterInfo />
</x:Print>
</x:WorksheetOptions>
</x:ExcelWorksheet>
</x:ExcelWorksheets>
</x:ExcelWorkbook>
</xml>

二、设置数据格式:
在head中加入css定义

<style type="text/css">
.spercent
{
background-color
:#ffff99;
mso-number-format
:0.00%;
}
</style>

在css中加入:mso-number-format定义数据格式,格式可以在excel中查看自定义格式,具体可以参考一下:
mso-number-format:"0" NO Decimals
mso-number-format:"0\.000" 3 Decimals
mso-number-format:"\#\,\#\#0\.000" Comma with 3 dec
mso-number-format:"mm\/dd\/yy" Date7
mso-number-format:"mmmm\ d\,\ yyyy" Date9
mso-number-format:"m\/d\/yy\ h\:mm\ AM\/PM" D -T AMPM
mso-number-format:"Short Date" 01/03/1998
mso-number-format:"Medium Date" 01-mar-98
mso-number-format:"d\-mmm\-yyyy" 01-mar-1998
mso-number-format:"Short Time" 5:16
mso-number-format:"Medium Time" 5:16 am
mso-number-format:"Long Time" 5:16:21:00
mso-number-format:"Percent" Percent - two decimals
mso-number-format:"0%" Percent - no decimals
mso-number-format:"0\.E+00" Scientific Notation
mso-number-format:"\@" Text
mso-number-format:"\#\ ???\/???" Fractions - up to 3 digits (312/943)

导出的excel可以直接通过excel打开,效果如下:

完整代码:

 

class Program
{
protected const string HEADER = "<html xmlns:x=\"urn:schemas-microsoft-com:office:excel\">" +
"<meta http-equiv=Content-Type content=\"text/html; charset=\"gb2312\">" +
"<head>" +
"<!--[if gte mso 9]><xml>" +
"<x:ExcelWorkbook>" +
"<x:ExcelWorksheets>" +
"<x:ExcelWorksheet>" +
"<x:Name>工作表标题</x:Name>" +
"<x:WorksheetOptions>" +
"<x:Print>" +
&n bsp; "<x:ValidPrinterInfo />" +
"</x:Print>" +
"</x:WorksheetOptions>" +
"</x:ExcelWorksheet>" +
"</x:ExcelWorksheets>" +
"</x:ExcelWorkbook>" +
"</xml>" +
"<![endif]-->" ;

const string STYLE="<style type=\"text/css\">" +
".spercent" +
" {" +
" background-color:#ffff99;" +
" mso-number-format:0.00%;" +
" }" +
".sId" http://msnpiki.msnfanatic.com/index.php/Main_Page-->
0;">+
" {" +
" background-color:#ff6633;" +
" mso-number-format:0;" +
" }" +
".sName" +
" {" +
" color:red;" +
" }" +
".sValue" +
" {" +
" color:blue;" +
" mso-number-format:0;" +
" }" +
"</style>";


static void Main(string[] args)
{
using (StreamWriter writer = new StreamWriter(@"C:\1.xls", true, System.Text.Encoding.GetEncoding("gb2312"
style="color: #000000;">), 512))
{
writer.WriteLine(HEADER);
writer.WriteLine(STYLE);
writer.WriteLine("</head><body><table border=\"1\" style=\"font-size:9pt\"><tr>");
writer.WriteLine ("<th>ID</th>");
writer.WriteLine ("<th>Name</th>");
writer.WriteLine ("<th>Value</th>");
writer.WriteLine ("<th>Percent</th>");

for (int row = 1; row < 50; row++)
{
writer.WriteLine("<tr>");
writer.WriteLine("<td class=\"sId\">{0}</td", row);
writer.WriteLine("<td class=\"sName\">{0}</td", Guid.NewGuid ().ToString ());
writer.WriteLine("<td class=\"sValue\">{0}</td", new Random().Next());
writer.WriteLine("<td class=\"spercent\">{0}</td", new Random().NextDouble());
writer.WriteLine("</tr>");
}

writer.WriteLine("</table></body>");
}

}
}
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    JavaScript 实现 Excel数据导出 支持多个Sheet页导出

    纯JavaScript实现json格式数据导出到Excel文件,支持多个Sheet页导出

    Winform导入导出带有合并单元格的Excel

    本程序采用webbrowser显示读取的数据,使用bootstrap的css样式美化table表格,使用Json传递实数据,现窗体间的数据传递。通过该程序,您可以学到如下知识点: 特别声明:本程序只给出了导入的实例,导出的实例只给出...

    .Net Core使用OpenXML导出、导入Excel

    导出Excel是程序很常用到的功能,.Net Core可以借助Open-XML-SDK来导出Excel。 Open-XML-SDK open-xml-sdk是是微软开源的项目。Open XML SDK是用于Open XML文档(DOCX, XLSX, and PPTX)的开源类库。它可以: 生成...

    bootstrapExcelExport:Bootstrap插件将html表导出到Excel

    bootstrapExcelExport Bootstrap插件将html表导出到ExcelBootstrap导出表到Excel插件这是什么 ? 这是一个简单的用法插件,用于将HTML 导出到excel文件。 实际上,允许用户将html数据作为.xls文件保存到磁盘。 它是...

    jquery+php实现导出datatables插件数据到excel的方法

    本文实例讲述了jquery+php实现导出datatables插件数据到excel的方法。分享给大家供大家参考。具体如下: DataTables是一个jQuery的表格插件。这是一个高度灵活的工具,依据的基础逐步增强,这将增加先进的互动控制,...

    一个大数据可视化UI样例Demo

    数据展示表格:使用HTML表格元素来展示大量数据,可以包括多列和多行,通过CSS样式设置表格的样式和布局,使得数据易于查看和理解。 数据筛选和排序功能:在表格上方添加筛选和排序功能,可以通过输入框或下拉菜单...

    jeasyui的dataGrid的打印和导出,jeasyui报表 table转成excel 实例下载

    如题,项目要用到jeasyui,所以必须要下载它的demo,获取相应的js,css等等的文件 jeasyui的下载地址:http://www.jeasyui.com/download/index.php &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN...

    asp excel多用途查询系统 v2018.08.01.zip

    asp excel多用途查询系统是个极为简单却非常通用、非常方便的成绩查询系统,通用于几乎所有Excel单二维数据表查询。 只需修改 查询条件和顶部、底部文字(非常简单),即可通用于:1. 成绩查询系统;2. 工资查询...

    高质量的 HTML5 和Laravel 后台管理系统模板

    Viho是功能很全的,多用途的后台管理模板,使用Bootstrap4框架,HTML5, CSS和JQuery等前端技术上。它有一个巨大的可重用的UI组件和...数据表导出到CSV、Excel、PDF、复制和打印 许多图表选项 多文件上传 滑块范围 数据表

    PB数据窗口source介绍及举例

    是第几个column,它的ID就是多少,其中也定义了是否可以update时和更新到数据表的字段名 6.table(retrieve行) 检索数据时使用的SQL语句,可以通过setsqlselect或modify("table.sqlselect")方法去动态修改 修改后要重新...

    智睿报修管理系统 v4.7.0

    智睿报修管理系统定位行政企业,单位,机关加快网络无纸办公化,网络信息报修管理系统,系统支持城市区域模块管理,会员信息模块,报修种类,维修工人信息显示,达到快速准确到位,支持在线打印,数据导出,汇总数据...

    springboot基于web的机动车号牌管理系统_0303173844.zip

    系统采用了分层架构设计,前端使用HTML、CSS和JavaScript进行开发,后端使用SpringBoot进行业务逻辑处理,数据库使用MySQL进行数据存储。这种架构设计使得系统具有良好的可扩展性和可维护性。此外,系统还具有强大的...

    springboot科研工作量管理系统的设计与实现.zip

    系统采用MVC设计模式,前端使用HTML、CSS和JavaScript进行页面设计和交互,后端使用SpringBoot进行业务逻辑处理和数据存储。系统具有用户登录、注册、权限管理等基本功能,以及项目管理、人员管理、工作量统计等核心...

    java web项目源码基于SSM的赛事评分系统+mysql数据库文件.zip

    同时,还支持Excel文件上传和下载,方便用户批量导入和导出数据。 后端逻辑使用Spring、SpringMVC和MyBatis框架,处理用户请求并与数据库进行交互。它包括用户认证、赛事管理、评分管理、成绩查询等功能。同时,还...

    ExcelQuicker 报表最佳解决方案

    ExcelQuicker 2.2 压缩包内包含 控件、控件...b)快速报表开发,样式化的开发,支持从DataTable、DataGrid直接导出数据 c)稳定的报表框架Framework d)报表开发的新概念:VBA+XLS 就像 CSS+HTML 控件作者的博客 ...

    DataTable案例.rar

    里面有dataTable实现数据分页、导出excel、导出pdf、打印功能等等的相关js和css

    在线作业提交批改系统设计与实现

    最后整个作业模块的数据可以导出到excel,下载到本地。 ③学生进入网站后,输入用户名和密码后验证成功才能登录,学生登录后可以浏览和下载作业内容。 注册功能:管理员只有一个,所有学生、教师用户,都需要注册...

    智睿教师档案管理系统

    教师档案 - 支持在线EXCEL电子表格导出,及打印数据 教师档案系统: 1、基本信息:包括姓名、性别、出生日期、民族、籍贯、政治面貌、工作时间 2、第一学历、毕业学校、所学专业、第二学历、毕业学校、所学专业、...

Global site tag (gtag.js) - Google Analytics