html怎么设置sheet,HTML TABLE 转换成Excel多Sheet,C#(补充版).pdf

HTML TABLE 转换成Excel多Sheet,C#(补充版)

将多个Table ,导出到一个Excel 文件中,其中,每一个Table 作为一个Sheet

一个小项目,统计几张报表,HTML TABLE 显示在页面中,用标签的方式,要实现把所有报表一次

导出成Excel 并下载,网上看了些方法,都不完善,索性自己写吧

基本思路:是将HTML 报表转换成XML 格式的EXCEL 存储形式,然后输出给客户端。

先看过用 HTML 格式的 EXCEL,不知道如何实现多Sheet,放弃;又找到一个NOPI 的代码,粘

过来有些问题,不愿意研究了,也放弃了;后来,新建了一个两、三个Sheet 的简单EXCEL,另

存为xml ,用编辑器打开看了一下,感觉有戏。

如上图,打开xml 文件后,很清晰的看到组织结构,

(在EXCEL 中修改一下XML 文件,再用文件编辑器打开XML 就又能看到变化)

因此,具体的方案如下:

文件 使用

to_excel.js 在页面中,将各个报表的HTML 转换成XML 格式

to_excel.html 当JS 将HTML TABLE 等转换成EXCEL XML 后,用IFRAME 加载此文件,此文件中

有一个表单,将EXCEL XML 通过此表单提交到服务器

to_excel.aspx 接收to_excel.html 提交的数据,组装成完整的EXCEL XML 返回给客户端下载

为便于说明, 以下是页面中报表形式:

显示效果类似:

其中 report-content 有多个,每一个代表一张报表

导出后的结果

下面是JS 文件

jQuery(document).ready(function () {

/// 点击页面中的"导出EXCEL"按钮

$(".f_class_a_expoert_report_excel_all").click(function () {

var data_target = $("div.report-content");

if (data_target.length == 0) {

alert("无有效报表!");

return false;

}

if ($("#id_iframe_download").length > 0) {

$("#id_iframe_download").remove();

}

$("body").append('');

$("#id_iframe_download").load(function () {

var sALL = "";

var i = 0;

if (typeof (eval(this.contentWindow.do_download)) == "function") {

//f_pop_waitting("正在处理数据...");

data_target.each(function () {

sALL += toExcelXmlWorkSheet($(this));

});

this.contentWindow.focus();

this.contentWindow.do_download(sALL,$(".title h1").text());

//f_pop_waitting_close("处理结束...");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值