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的优化功能 推荐位管理 一些思路和规则: 数据库表名的定义:通过"大模块名称+ ...
随机推荐
- (译)Node.js的 EventEmitter 教程
原文标题:Node.js EventEmitter Tutorial 原文链接:http://www.hacksparrow.com/node-js-eventemitter-tutorial.htm ...
- js颜色转换
很久之前面试遇到过一个题.写个颜色转换的方法. function RGB2Color(r,g,b) { return '#' + byte2Hex(r) + byte2Hex(g) + byte2He ...
- Webform之FileUpload(上传按钮控件)简单介绍及下载、上传文件时图片预览
1.FileUpload上传控件:(原文:http://www.cnblogs.com/hide0511/archive/2006/09/24/513201.html) FileUpload 控件显示 ...
- Spring学习之注入方式
我们知道,Spring对象属性的注入方式有两种:设值注入和构造注入. 假设有个类为People,该对象包含三个属性,name和school还有age,这些属性都有各自的setter和getter方法, ...
- InputStream和OutputStream 何时使用
原文引自:http://blog.csdn.net/fyxxq/article/details/7071978 记得刚学习程序流一章的时候,就是搞不清楚In和Out,不知道什么时候用in什么时候用ou ...
- CI URL 辅助函数 url helper
URL 辅助函数文件包含一些在处理 URL 中很有用的函数 加载辅助函数 本辅助函数通过如下代码加载: $this->load->helper('url'); 可用函数如下: site_u ...
- 进一步探索:Windows Azure 网站中解锁的配置选项
编辑人员注释: 本文章由 Windows Azure 网站团队的项目经理 Erez Benari 撰写. 在 Windows Azure 网站 (WAWS) 中管理网站时,许多选项可使用 Azu ...
- Eclipse RCP扩展
它跟普通的插件扩展点是一样的写法,你只需要看 eclipse 自带的源码,打开你的 eclipse 目录,插件 *.exsd 找到后在 eclipse 中查看这个文件夹对应的插件的源码,里面有 plu ...
- 看java源代码
不会看JDK源代码,相当于没学过Java. 网上不容易找到一篇帮助我解决了如何在Eclipse下查看JDK源代码 的文章. 核心提示:在Eclipse中查看JDK类库的源代码!!! 设置: 1.点 w ...
- 如何设计一个 iOS 控件?(iOS 控件完全解析)
前言 一个控件从外在特征来说,主要是封装这几点: 交互方式 显示样式 数据使用 对外在特征的封装,能让我们在多种环境下达到 PM 对产品的要求,并且提到代码复用率,使维护工作保持在一个相对较小的范围内 ...