JavaScript+XML+VBA导出报表初步构想
最近在做人事档案管理系统遇到的一个问题就是种类多、数量大的报表打印问题。这个系统的一个特点就是信函打印,各种介绍信、各种证明信。对于这样的重复性的功能,最好的方法就是所有的报表实现格式套用。
经过分析发现报表中的信息可以分为两部分,一部分为信函主体内容即所有同种信函中统一的内容,另一部分为个人信息(姓名、性别等)即同种信函中经常要变化的内容,而这部分的内容来自网页(个人档案详细信息)。分析过后发现只要把报表的格式及主体内容规定好,只要从网页中把那些经常要变化的信息放进去就可以生成报表,这样同种类的报表就可一套用一种格式。
实现结构图
各部分功能
网页(前台)通过后台获得数据库中的档案信息。
xml文件中将报表的主体内容及格式定义好。xml作为传输和存储数据的有效工具对于实现存储报表的主体内容及内容格式的定义再适合不过了。xml文件作为一种配置文件来说,这样不仅保证报表格式与内容的统一性,还使得报表具有了可变化性,变化的范围涵盖了报表的内容及格式。
javascript将获得的网页信息与读取到的xml中信函内容与格式信息进行处理,并通过借助VBA的处理最后将信息进行整合最终得到格式内容统一的报表。
技术要点
javascript与网页交互(javascript与网页进行信息交互获得网页中的信息)。
javascript读取xml文件(javascript从xml文件获得信函的主体内容与格式)。
VBA操作(对word的内容和格式的操作)。
javascript结合VBA将整合报表内容,并对报表格式进行设置。
总结
初步有了想法,在技术上也实现了大部分。javascript与网页信息交互很简单,javascript读取xml文件也掌握了,将报表信息整合写入报表也实现了,就差通过VBA实现对报表的格式(排版、字体大小设置、页边距设置)控制。这样的结构下不管什么人的任何报表都可以得到:个人信息动态从网页中获取,报表内容及格式从配置文件(xml)中得到,而且如果需要的话只需要修改配置文件就可以动态修改报表的内容和格式。
JavaScript+XML+VBA导出报表初步构想的更多相关文章
- [原创].NET 业务框架开发实战之七 业务层初步构想
原文:[原创].NET 业务框架开发实战之七 业务层初步构想 .NET 业务框架开发实战之七 业务层初步构想 前言:本篇主要讲述如何把DAL和BLL衔接起来. 本篇议题如下: 1. DAL ...
- 如何利用FastReport.Net 设计并导出报表?
在你的程序中,你可以使用FastReport.Net 报表设计器.要做到这一点,你需要使用报表对象设计方法: report1 = new Report();report1.Load("rep ...
- javascript 将 table 导出 Excel ,可跨行跨列
<script language="JavaScript" type="text/javascript"> //jQuery HTML导出Excel ...
- JasperReport导出报表8
我们已经看到在前面的章节中,如何打印和查看的JasperReport生成的文档.在这里,我们将看到如何在其他格式,如PDF,HTML和XLS转换或导出这些报告. Facade类net.sf.jaspe ...
- 转 创建 JavaScript XML 文档注释
http://www.cnblogs.com/chenxizhang/archive/2009/07/12/1522058.html 如何:创建 JavaScript XML 文档注释 Visual ...
- 万圣节福利:红孩儿3D引擎开发课程《3ds max导出插件初步》
ds max文件夹,插件文件夹以及3ds max的可执行程序文件夹: 位的,这里要改成x64,否则启动程序后3ds max会提示"不是有效的win32程序"之类的对话框. 然后要将 ...
- JavaScript & XML
原文:JavaScript & XML 检测浏览器能力特性 //检测浏览器是否支持DOM2级XML var hasXmlDom = document.implementation.hasFea ...
- [SQLXML]FOR XML语法导出XML的易错之处
原文:[SQLXML]FOR XML语法导出XML的易错之处 [SQLXML]FOR XML语法导出XML的易错之处 Version Date Creator Description 1.0.0.1 ...
- cms初步构想
一.cms系统的初步构想 公司正准备使用yii框架重新弄个类cms的系统: 初步的功能: 栏目文章的管理 SEO的优化功能 推荐位管理 一些思路和规则: 数据库表名的定义:通过"大模块名称+ ...
随机推荐
- chrome 、 火狐等浏览器对空格符 解析不同,页面显示不一致
最近初学web,从头开始,菜鸟级别,遇到的小问题记录下来. 网上资料说 空格在ie.firefox.chrome浏览器上显示的效果不太一样,主要是前面的空格宽度不同,这可能是因为不同的浏览器会有不同的 ...
- C# 查找指定名称的控件(转)
请问我知道控件的名称如何得到这个控件对象呢? var button = this.FindName("button1") as Button; Button button = th ...
- Hibernate中,left join、inner join以及left join fetch区别(转)
标签: hibernate hql inner join left right 杂谈 分类: SQL 原文地址:http://m33707.iteye.com/blog/829725 Select F ...
- 【转】DevExpress控件安装
原文链接: DevExpress控件安装.汉化使用教程 - 田园里的蟋蟀 学习网址: 1.DevExpress控件中文网 2.DevExpress控件中文网使用教程 3.DevExpress控件使用经 ...
- what does Html.HiddenFor () for ?
When I want to pass some value that won't be seen by users, I find it useful to use this. It can hel ...
- IOS 特定于设备的开发:Info.plist属性列表的设置
应用程序的Info.plist属性列表使你能够在向iTunes提交应用程序时指定应用程序的要求.这些限制允许告诉iTunes应用程序需要哪些设备特性. 每个IOS单元都会提供一个独特的特性集.一些设备 ...
- 转: Transact-sql游标使用详解~~很详细
/*原理:游标就是把数据按照指定要求提取出相应的数据集,然后逐条进行数据处理.1.1游标的概念 游标(Cursor)它使用户可逐行访问由SQL Server返回的结果集. 使用游标(cursor)的一 ...
- activemq下activemq.bat不能启动
今天下载了一个apache-activemq-5.5.0-bin.rar解压缩后双击/bin目录下的activemq.bat批处理文件发现启动窗口一闪而过无法启动,最后找到原因是因为在环境变量-系统变 ...
- Linux安装make无法使用
1.apt-get update 2.apt-get install g++ 3.apt-get install pentium-builder 4.apt-get install build-ess ...
- 技术不牛如何才拿到国内IT巨头的Offer
不久前,byvoid面阿里星计划的面试结果截图泄漏,引起无数IT屌丝的羡慕敬仰.看看这些牛人,NOI金牌,开源社区名人,三年级开始写Basic...在跪拜之余我们不禁要想,和这些牛人比,作为绝大部分技 ...