需求要求:根据数据库中查询出的数据,导出报表, 电子表格形式, 可以使用MS Office 打开。
最开始的想法:
1.使用Apache的POI API将查询到的数据填写到Excel文档中,但思来想去觉得这不是一个Good idea,感觉类似硬编码,太生硬太粗暴;
2.使用开源的一些报表工具:貌似很多工具都很花哨我的项目用不到,而且学习周期长,有些工具虽开源但文档收费(要命,按美金收,没文档很难整);
最后考虑下来,决定尝试XSLT:
1. 相对成熟的技术,使用的人多,可参考的例子也多;
2. 学习周期短;
3. 手边有一个现成的XSLT解析XML生成表格型XML(可以使用MS Office 2003以上版本打开,界面显示同Excel)的例子;
学习及实践的Step:
1. 首先,按照项目的需求,创建一个相应的表格型XML(可以使用MS Office 2003),模拟些假的数据,保存,然后使用文本编辑器打开查看其格式,对要生成的目标文件有个大体的了解;
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook ..........>
<!--文档属性-->
<DocumentProperties ......>
.....
</DocumentProperties>
<!--Excel工作簿属性-->
<ExcelWorkbook ....>
.....
</ExcelWorkbook>
<!--定义共通样式供单元格调用-->
<Styles>
....
</Styles>
<!--Excel的sheet-->
<Worksheet ss:Name="报表-部门费用分配表">
<Table ss:ExpandedColumnCount="8" ss:ExpandedRowCount="73" x:FullColumns="1"
x:FullRows="1" ss:StyleID="s23" ss:DefaultColumnWidth="90"
ss:DefaultRowHeight="18">
<!--某一列的属性-->
<Column ss:Index="8" ss:StyleID="s23" ss:Width="99.75"/>
<!--某一行的属性-->
<Row ss:AutoFitHeight="0" ss:Height="29.25" />
<!--行中各单元格的值和属性-->
<Cell />
<Cell />
...
...
</Row>
...
...
...
</Table>
</Worksheet>
</Workbook>
从上面可以看出:表格型的XML其结构还是很清晰的,包括数据是以何种方式列举并显示的。
整个过程: 根据我们的源数据XML的结构,写一个XSL文件(相当于写一个逻辑处理代码,使用的是XSLT的API), 然后来解析(解析使用XSLT的引擎)这个源数据XML, 最后生成(或者说组合出)目标文件(一个表格型的XML)。
此为第一弹,了解下目标文件:表格型XML的结构。未完待续。
分享到:
相关推荐
java中使用xslt转换xml成为另一个xml 将一个xml文件按照你写的xslt的格式转换成符合你要求的xml文档
DIXml is an embedded XML, XSLT, and EXSLT processing library for Delphi (Embarcadero / CodeGear / Borland). It is build on the libxml2, libxslt and libexslt libraries but requires no DLLs nor other ...
Javascript+Xslt解析Xml为Html的方法.pdf
Xml生成word,本文档是讲述了如何借助WML2XSLT.EXE工具生成xslt,将xml生成word文档
xslt_xml_html 测试xslt_xml_html 测试xslt_xml_html 测试xslt_xml_html 测试
基于XSLT的XML文档转换技术基于XSLT的XML文档转换技术基于XSLT的XML文档转换技术基于XSLT的XML文档转换技术基于XSLT的XML文档转换技术
Javascript+Xslt解析Xml为Html的方法[参照].pdf
使用XSLT将XML文档转换成HTML文档.
一个抛弃传统的标准web建站,通过xml+xslt创建的网站,解决了设计人员,跟开发人员之间的磨合,难度,大大的提高了开发效率
XML笔记+XSLT中文入门 XML笔记+XSLT中文入门XML笔记+XSLT中文入门 XML笔记+XSLT中文入门
XML内容管理应用程序的增长刺激了对XSLT和Xpath技能的要求.本入门教程提供了XSLT处理模型的...XSLT 是一种用于将 XML 文档转换为 XHTML 文档或其他 XML 文档的语言。 XPath 是一种用于在 XML 文档中进行导航的语言。
Delphi下最好用的XML/XSLT组件DIXML最新版本无需密码效率超高
javascript xml xsl xslt javascript xml xsl xslt javascript xml xsl xslt javascript xml xsl xslt
winform 使用XSLT来转换XML源码! 很值得下载看看!资源免费,大家分享!!
用javascript以xslt显示xml_demo
生成XML文件ABAP程序 REPORT zams_xml_dom_create . TYPE-POOLS: ixml. CLASS cl_ixml DEFINITION LOAD. TYPES: BEGIN OF xml_line, data(256) TYPE x, END OF xml_line. DATA: l_ixml TYPE REF TO if_ixml, ...
1)xslt控制xml样式 2)xml、xslt被html调用 3)xml、xslt被c#后台调用
java_xslt转换xml
XSLT-Mastering.XML.Transformations
这是个很好的,用xslt转换,修改xml的好例子!