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的优化功能 推荐位管理 一些思路和规则: 数据库表名的定义:通过"大模块名称+ ...
随机推荐
- .NET 多语言支持解决方案 (转)
asp.net 2.0中的App_GlobalResources可以用来解决本地化的问题,程序会根据浏览器的语言首选项自动判断显示出本地化的界面. 首先在App_GlobalResources新建re ...
- iOS 自定义各类bar的属性
在iOS应用开发中,经常需要为导航栏和标签栏设置相同的主题,一个一个去设置的话,就太麻烦了,可以通过对应用中所有的导航栏和标签栏同意设置背景.字体等属性. 如:创建一个继承自“UINavigation ...
- BZOJ 1114 Number theory(莫比乌斯反演+预处理)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=71738 题意:给你一个整数序列a1, a2, a3, ... , ...
- Retrofit2 上传图片等文件
普通写法: //创建表单的普通字段public static RequestBody createFormBody(String content) { RequestBody body = Reque ...
- codeforces 620F. Xors on Segments
题目链接 定义一种操作f(u, v) = u^u+1^.......^v. (u<=v), 给n个数, q个询问, 每个询问给出一个区间[l, r], 求这个区间里的f(a[i], a[j]) ...
- C++获取当前机器内网IP地址
/*头文件*/ #include "winsock2.h" #pragma comment(lib,"ws2_32.lib") /*Hui 获取当前服务器IP* ...
- 模拟美萍加密狗--Rockey2虚拟狗(四)
目录(?)[+] 首先,抱怨一下.学校个破网,似乎把我端口封了,死活分不上IP,也许是是我MAC改的太频繁了,有盗号嫌疑…… 然后,正文开始…… 其实虚拟狗几天前就写完了,可这几天上不了网 ...
- Laravel后台 + AngularJS前端 的网站构建与维护
最近维护的报修网站,采用Laravel+AngularJS框架搭建,还有很多东西需要熟悉掌握,现将修复的Bug或添加的功能中值得记录的地方总结如下. 其中,需要注意的问题基本是原因不明且不是太严重的问 ...
- Shot(三分)
Shot Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- 对于java用发送http请求,请求内容为xml格式
import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.ByteArrayOutputStr ...