JS + Xml + Excel 做报表(客户端生成)

html 嵌入编辑excel 开源_网页中嵌入Excel控件 前提, 客户端必须装windows office Excel,我机器上装的时office 2003,如果你机器装的是office 2007只要把 object id="_obj_Excel" classid="clsid:0002E559-0000-0000-C000-000000000046"的classid改一下,是多少你自己到网 上去查一下。aspx页面代码< %@ Page Lang... 阅读详情
JS + Xml + Excel 做报表(客户端生成)
2007-12-03 16:38
完成的项目计划要补充一个报表子系统。考虑到我们系统的服务器压力较大,因材我考虑使用Js + xml + Excel 在客户端生成报表。

★ 在Server端产生数据:
    1> 生成一个DataSet,ds.GetXml()方法返回一个xml格式的字符串.
    2> 用一个XmlDocument对象,使用LoadXml(str)方法加载以上的字符串.
    3> 将结果组合为一个xml数据岛格式的字符成,并利用LiteralControl写在页面.
    4> 写在页面.最后注册客户端方法.

        Dim ds As New System.Data.DataSet
        Dim doc As New XmlDocument
        Dim strXml As New System.Web.UI.LiteralControl
        ....................
        doc.LoadXml(ds.GetXml())
        strXml.Text = "<XML id=xmlData><?xml version=""1.0"" ?><DataSet>" +       doc.DocumentElement.InnerXml + "</DataSet></XML>"
        PlaceHolder1.Controls.Add(strXml)

        Me.Page.ClientScript.RegisterStartupScript(Me.GetType, "Case", "Print();", True)

★ 在Client端产生Excel报表:
    1> 首先写了一个Excel.js文件.写出公用的方法.
    2> 在产生报表的页面引入该文件<script language="javascript" src="Excel.js"></script>
    3> 写Print()方法

function Print()
{
    //初始化xmlDoc, 及Excel.Application
    InitApp()
   
    //初始化表格头部
    strHead = "地区|SIID|SI名称|学校ID|学校名称|使用用户数|计费用户数|学校下行流量|每计费数|每使数" ;
    InitHead(strHead,xlsheet)
   
    //填充表格
    for (i=0;i<nodes.length ;i++ ){
        for (j=0;j<nodes[i].childNodes.length ;j++)
        {
            xlsheet.Cells(i+2,j+1).Value= nodes(i).childNodes(j).text ;
        }
    }
   
    //格式化表格
    FormatRangeLine(nodes.length+1,strHead.split("|").length) ;
   
    //退出
    Quit()
    return false;
}

/*************************Excel.js **************************************/

var    xmlDoc        //xml对象
var nodes            //数据节点
var xls                  //Excle对象
var xlBook       //工作博对象
var xlsheet          //工作表
var strHead        //工作表头

//初始化应用程序
function InitApp()
{
    try {
       
        xmlDoc = new   ActiveXObject("Microsoft.XMLDOM")
        xmlDoc.async="false"
        xmlDoc.load(document.getElementById("xmlData"))
        nodes=xmlDoc.documentElement.childNodes
    }
    catch(e) {
        alert( "要打印该表,您的浏览器须使用“ActiveX 控件”,您的浏览器须允许执行控件。 请点击【帮助】了解浏览器设置方法!");
        return false;
    }
   
    try {
        xls   = new ActiveXObject("Excel.Application" );
    }
    catch(e) {
        alert( "要打印该表,您必须安装Excel电子表格软件,同时浏览器须使用“ActiveX 控件”,您的浏览器须允许执行控件。 请点击【帮助】了解浏览器设置方法!");
        return false;
    }
    xlBook = xls.Workbooks.Add;
    xlsheet = xlBook.Worksheets(1);
    xls.visible = true;
}

//初始化表头
function InitHead(strHead,xlsheet)
{
    var ArrayHead = strHead.split("|");
    for(var i=0;i<ArrayHead.length;i++)
    {
        xlsheet.Cells(1,i+1).Value = ArrayHead[i] ;
        xlsheet.Cells(1,i+1).Interior.ColorIndex = 35;
        xlsheet.Cells(1,i+1).Font.Bold = true;
        xlsheet.Columns(i+1).NumberFormatLocal = "@" ;
        xlsheet.Columns(i+1).HorizontalAlignment = -4152 ;
    }
}

//格式化有数据的单元格       
function FormatRangeLine(ros,cons)
{
    var m_range = xlsheet.Range(xlsheet.Cells(1,1),xlsheet.Cells(ros,cons))
    for(var i=7;i<13;i++)
    {
        m_range.Borders(i).LineStyle = 1 ;
        m_range.Borders(i).Weight = 2    ;   
        m_range.Borders(i).ColorIndex = -4105    ;
    }
    xlsheet.Columns.AutoFit;
}


//释放控件
function Quit()
{
    xls.UserControl = true ;
    xls=null;
    xlBook=null;
    xlsheet=null;
}

/**************End*********************************/

纯JavaScript实现JSON数据导出为Excel JavaScript导出技术是前端开发中的一项基础且核心技能。掌握它不仅能够提升用户交互体验,还能实现数据持久化和文件备份等功能。导出技术能够让用户通过点击一个按钮,轻松下载由网页生成的数据文件,例如CSV、Excel或PDF格式。Blob对象代表了不可变的原始数据。一个Blob对象可以看作是一个不可变的类文件对象,它表示了某种格式的原始数据,例如图片、视频、文本等。 阅读详情

相关推荐

基于js-xlsx与JSExcelXml的前端Excel文件处理实战项目

js-xlsx(又称SheetJS)是目前前端最流行的JavaScript库之一,用于读取、写入和操作多种电子表格格式(如XLSX、XLSB、CSV等)。其核心优势在于纯客户端运行、无须服务器依赖、支持跨平台操作,并能精准解析Excel的二进制结构。该库通过将Excel文件解析为标准化的工作簿(Workbook)对象模型,实现对工作表、单元格、样式、公式等元素的编程化访问。其底层采用复合文档(Compound Document)解析技术,兼容Office Open XML(

weixin_35019679的博客 1215

javascript 从xml导入excel

先把数据导入sql server在从sql server 导出excelvar xmlDoc = new ActiveXObject("Microsoft.XMLDOM");      xmlDoc.async="false";    xmlDoc.load("f:/a.XML");    var myErr;    //查询节点    var parentNode = xmlDoc.sele

gu0072003的专栏 1213

JavaScript实现Excel文件转JSON数据完整方案

xlsx.js是由 SheetJS 团队开发的一个开源项目,GitHub 上拥有超过 35k 星标,广泛应用于各类企业级应用中。该库的核心能力在于无需依赖后端服务即可在客户端完成 Excel 文件的解析与导出操作,极大提升了用户体验和系统响应速度。相较于传统的“上传 → 后端解析 → 返回 JSON”流程,xlsx.js实现了真正的零延迟预览与离线处理能力。例如,在人力资源管理系统中,HR 可以上传员工名单 Excel 表格后立即看到即将导入的数据预览,而不必等待服务器响应;

weixin_42466857的博客 1023

js处理xml文件,成execl格式

nginx配置映射,js读取xml文件,整理成规整excel格式的字符传

麻辣炒冰 583

前台导出Excel表格插件 JSExcelXml-master

在使用easyUI的datagrid时,可以直接用JSExcelXml前台导出表格

js xml转换execl

javascript 把execl转换成xml,把xml转换层execl

不使用第三方库实现原生 JS 解析 excel 文件需要分几步

excel文件本质就是一个zip包,我们只需要通过zip解压、xml解析、数据处理这三个步骤,即可使用JS读取到其中的数据,当然其中的细节还是很多的,不过如果只是简单的excel模版,不妨自己尝试一下。

2401_83384536的博客 938

js导出table表格数据(包括excel,xml,json,csv等格式)

js导出table表格数据(包括excel,xml,json,csv等格式)

Officegen终极指南:使用纯JavaScript生成Office文档的完整方案

Officegen是一个强大的JavaScript库,能够让开发者使用纯JavaScript生成Office Open XML格式的文档,包括Word(docx)、PowerPoint(pptx)和Excel(xlsx)文件。它通过流(stream)的方式输出文档,适用于各种Node.js环境,无需依赖任何命令行工具。 [![Officegen标志](https://raw.gitcode.co

gitblog_00197的博客 552

高动态范围结构光三维测量技术:从多曝光融合到深度学习的演进与应用

本文深入探讨了高动态范围结构光三维测量技术的演进与应用,从传统的多曝光融合技术到深度学习驱动的创新方案。通过工业案例展示了该技术在提升测量精度和效率方面的显著优势,特别是在处理高反光、复杂表面时的突破性表现。文章还提供了针对不同工业场景的技术选型指南,帮助工程师优化三维测量解决方案。

weixin_29063979的博客 293

VBA中如何使用Edge内核Browser?

在微软宣布停止对IE的支持后,许多使用VBA中Web Browser的用户遇到了困境,因为Web Browser使用的IE内核。然而微软并没有给出支持Edge的新版Web Browser,网上许多第三方的库也不够完善。经过调研,libEdge可以较好的和VBA集成,实现在Excel中打开Browser,甚至能够通过执行js代码,获取web页面的信息。项目需要WebView2Loader.dll和LibEdge.dll两个库,区分x86和x64版本。

金木AI 2396

用 LotusScript 实现 Excel 报表的自动生成和操作

使用 HTML 和 JavaScript 为 Lotus Domino 创建一个 Web 2.0 风格的瘦 Web 客户机。基于以前有关 IBM Lotus Domino XML (DXL) 框架的文章,本文向您介绍如何使用 Ajax 扩展 Notes/Domino 应用程序。在文章 “访问 Notes/Domino 数据的定制 DXL 框架” 中,我向您介绍了 Lotus Domino XM

陆君风的专栏 4042

Linux文件操作四剑客

① /^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ // 年-月-日 yyyy-MM-dd / yy-MM-dd 格式。⑥“^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$” //正浮点数。

wuds_158的博客 1609

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

HTML TABLE 转换成Excel多Sheet,C#(补充版)将多个Table ,导出到一个Excel 文件中,其中,每一个Table 作为一个Sheet一个小项目,统计几张报表,HTML TABLE 显示在页面中,用标签的方式,要实现把所有报表一次导出成Excel 并下载,网上看了些方法,都不完善,索性自己写吧基本思路:是将HTML 报表转换成XML 格式的EX...

weixin_42504785的博客 534

ADS交叉耦合振荡器VCO仿真

本文主要参考视频中如何使用进行ADS交叉耦合振荡器仿真和分析,由于视频中有诸多错误和视频清晰度较低,虽然视频博主及时改正,为了节省学习时间,可以直接参考本文。

qq_32589131的博客 5421

GraphRAG 与 HippoRAG 深度对比:在 RAGFlow 中如何选择知识图谱方案?

本文深入对比了GraphRAG与HippoRAG在RAGFlow中的知识图谱构建方案,分析了两者在技术架构、资源消耗和场景适配性上的核心差异。GraphRAG适合需要快速响应和资源有限的场景,而HippoRAG则更适用于精确关系推理的专业领域。文章还提供了RAGFlow的演进路线和选型决策框架,帮助架构师根据实际需求做出合理选择。

weixin_27889245的博客 246

excel转xml

python把excel文件转成xml文件。策划用excel配置各种数据,程序在使用前,用python把该excel文件转换成xml文件,再在程序里面加载读取xml文件。首先定好规则,我们是这样的,一个excel文件只允许第一个表格存放有效配置数字,列名字以c_开头表示此列只有客户端需要,以s_开头表示此列只有客户端需要,以_开头表示为无效配置数据(策划解释说明用),这样定好规则后,就能更清晰的知道

u011389577的专栏 3378

【温室气体数据集】CAMS 发布的温室气体(GHG)数据集总结

【温室气体数据集】CAMS 发布的温室气体(GHG)数据集总结

WW、forever的博客 554

如何使用ExcelJS实现电子表格注释功能:VML客户端数据XML处理的完整指南

ExcelJS是一个强大的JavaScript库,用于读取、操作和写入电子表格数据及样式到XLSX和JSON文件。本文将详细介绍如何利用ExcelJS处理VML客户端数据XML,轻松实现专业的电子表格注释功能。 ## 注释功能的核心价值 在电子表格中,注释是传递额外信息、解释复杂数据或提供上下文的重要方式。无论是财务报表中的数据说明,还是项目计划中的任务备注,注释都能让表格内容更易理解。Exc

gitblog_00783的博客 352

Unity 编辑器篇|(四)编辑器拓展GUI类 (全面总结 | 建议收藏)

GUI 类是 Unity GUI 的接口,并且具有手动定位功能。“即时模式”GUI 系统(也称为 IMGUI)是一个完全独立的功能系统,不同于 Unity 基于游戏对象的主 UI 系统。IMGUI 是一个代码驱动的 GUI 系统,主要用作程序员的工具。为了驱动该系统,需在实现脚本上调用 OnGUI 函数即时模式 GUI 系统常用于:创建游戏内调试显示和工具。为脚本组件创建自定义检视面板。创建新的编辑器窗口和工具以扩展 Unity 本身。

游戏开发小Y的博客 12万+

【赛题解析&命令脚本配置】2023年全国职业院校技能大赛GZ073网络系统管理赛项赛题第1套模块A:网络构建 & (五)无线网络配置+(六)出口网络配置-命令配置

【赛题解析&命令脚本配置】2023年全国职业院校技能大赛GZ073网络系统管理赛项赛题第1套模块A:网络构建 & (五)无线网络配置+(六)出口网络配置-命令配置

君逍遥o 408

Xml+Xslt导出Excel实例

  最近研究了一下基于xml+Xslt的统计报表导出Excel功能,原有的设计是用JS实现,优点是实现起来比较简单,缺点同样很明显,对导出复杂的表格无能为力,而且需要客户端安装Excel,另一种办法是在服务器端实现,调用office的DLL直接操作Excel,可控范围较广,但是遇到大数据量的统计报表则响应较慢,这对于客户来说是无法忍受的。于是,就有了基于xml+xslt的解决方案。由于Exc...

weixin_30588729的博客 180

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

xml 硕正报表_硕正轻量级富Web应用套件–硕正报表主要指标及功能清单

分类功能描述符合的技术规范支持浏览器主流浏览器:Chrome,IE(包括64位),Firefox国产浏览器:360极速浏览器,360安全浏览器,猎豹,百度,搜狗,浏览器支持服务器操作系统不限,包括Windows,Linux,Unix支持客户端操作系统32位和64位的WindowsXP,Vista,Windows7/8/8.1/10支持后端应用服务器和技术支持Java/j...

weixin_30800615的博客 1091

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

ExcelJS技术架构深度解析:构建高性能JavaScript Excel处理引擎

在现代Web应用和企业级系统中,Excel文件处理已成为不可或缺的核心功能。传统的前端Excel处理方案往往面临内存溢出、性能瓶颈和格式兼容性等挑战。ExcelJS作为一款纯JavaScript实现的Excel文件处理库,通过创新的架构设计和流式处理机制,为Node.js和浏览器环境提供了高性能、低内存占用的解决方案。 ## 技术问题定义与解决方案概述 Excel文件处理在Web应用中的核心痛

gitblog_00867的博客 197

excel的xml表示形式

公司一个变态要求把表格导出为excel,另一个变态用的是个鸟(此鸟专指我一同学)都没听说过的tcl。而tcl对这个的支持就根本没有,网上资料也找不到,尼玛的。     经过几天的折磨,最后发现,导出excel文件的需求很常见,java有poi,c#是微软开发的,调同样微软开发的excel更是简单的一塔,别的语言也都有很多人已经开发出组件或者有很多解决方案了,但是tcl这种狗屁语言,网上资料根本就

huwei0518的专栏 3704

Stimulsoft Reports.JS 2024.1.4 Crack

Stimulsoft Reports.JS JavaScript 报告工具 Stimulsoft Reports.JS 提供了一系列用纯 JavaScript 创建的报告组件。该报告生成器可以轻松集成到任何 JavaScript 应用程序中,可以在任何现代浏览器(Chrome、Firefox、Safari、Edge)中运行,并支持 Node.js

控件与插件之大全 1527
上一篇: XML 报表2
下一篇: XSLT 例子
echo7L
博客等级 码龄16年 5粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值