纯数据xml通过xslt转换成报表xml
2017-06-08 15:11
183 查看
一、
除了要知道xml,xslt的知识,还需要了解ExcelXml(可用Excel打开的报表xml)各标签的含义。
数据放在<Worksheet>标签的<Table>标签内。
每一行数据放在<Row>标签内,每个单元格的内容放在<Cell>标签内
每个标签都有自己的属性(废话-_-||),主要都是样式相关的。
有些比较重要,比如:
下面部分转自:http://woniu1983.iteye.com/blog/700749
1.
ss:ExpandedColumnCount是定义表格的列数
测试中我发现这个数值必须大于实际的列数,例如,我的实际列数是5列,那么赋值的时候使用的是6, 如果使用的是5的话,解析的结果文件使用Office无法打开,提示格式错误信息,不信的同学可以尝试下。
2.
ss:ExpandedRowCount是定义表格的行数,当然肯定要大于实际的行数,这里我做了个算式:统计出源数据xml中Section个数+10
3.
Column... 标签是定义每一列的长宽等属性,实际列数是5列,那么就定义5个Column标签
4.
Row... 标签是定义每一行的长宽等属性,实际行数是多少,那么就定义多少个Row标签
5.
Cell... 标签是Row的子标签,用于定义每一行中各单元格的数据及样式等等
6.
ss:MergeDown是Cell的属性, 用于单元格的纵向合并
ss:MergeDown = "4" 表示:合并当前单元格下边的4个单元格(即纵向区域总共5个单元格被合并)
.
ss:MergeAcross是Cell的属性, 用于单元格的横向合并
ss:MergeAcross="4" 表示:合并当前单元格右边的4个单元格(即横向区域总共5个单元格被合并)
栗子
表格型xml
整个过程: 根据我们的源数据XML的结构,写一个XSL文件(相当于写一个逻辑处理代码,使用的是XSLT的API), 然后来解析(解析使用XSLT的引擎)这个源数据XML, 最后生成(或者说组合出)目标文件(一个表格型的XML)。
除了要知道xml,xslt的知识,还需要了解ExcelXml(可用Excel打开的报表xml)各标签的含义。
数据放在<Worksheet>标签的<Table>标签内。
每一行数据放在<Row>标签内,每个单元格的内容放在<Cell>标签内
每个标签都有自己的属性(废话-_-||),主要都是样式相关的。
有些比较重要,比如:
下面部分转自:http://woniu1983.iteye.com/blog/700749
1.
ss:ExpandedColumnCount是定义表格的列数
测试中我发现这个数值必须大于实际的列数,例如,我的实际列数是5列,那么赋值的时候使用的是6, 如果使用的是5的话,解析的结果文件使用Office无法打开,提示格式错误信息,不信的同学可以尝试下。
2.
ss:ExpandedRowCount是定义表格的行数,当然肯定要大于实际的行数,这里我做了个算式:统计出源数据xml中Section个数+10
3.
Column... 标签是定义每一列的长宽等属性,实际列数是5列,那么就定义5个Column标签
4.
Row... 标签是定义每一行的长宽等属性,实际行数是多少,那么就定义多少个Row标签
5.
Cell... 标签是Row的子标签,用于定义每一行中各单元格的数据及样式等等
6.
ss:MergeDown是Cell的属性, 用于单元格的纵向合并
ss:MergeDown = "4" 表示:合并当前单元格下边的4个单元格(即纵向区域总共5个单元格被合并)
.
ss:MergeAcross是Cell的属性, 用于单元格的横向合并
ss:MergeAcross="4" 表示:合并当前单元格右边的4个单元格(即横向区域总共5个单元格被合并)
栗子
表格型xml
<?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的结构,写一个XSL文件(相当于写一个逻辑处理代码,使用的是XSLT的API), 然后来解析(解析使用XSLT的引擎)这个源数据XML, 最后生成(或者说组合出)目标文件(一个表格型的XML)。
相关文章推荐
- 通过xslt将xml转换为html代码
- 通过 .NET Framework 中的 XPath 和 XSLT API 方便地操作 XML 数据
- 使用XSLT将XML数据转换成HTML
- 使用XSLT将XML数据转换成HTML
- 使用XSLT将XML数据转换成HTML
- 使用 XSLT 样式表转换 XML 数据
- 使用XSLT将XML数据转换成HTML
- IE9下通过XSLT转换XML的显示问题
- IE9下通过XSLT转换XML的显示问题
- 使用XSLT将XML数据转换成HTML
- 通过 .NET Framework 中的 XPath 和 XSLT API 方便地操纵 XML 数据
- 使用XSLT将XML数据转换成HTML
- 使用XSLT将XML数据转换成HTML
- 使用XSLT将XML数据转换成HTML
- 使用XSLT将XML数据转换成HTML
- 通过xslt把xml转换成html
- 使用javascript在客户端通过 XSLT 将 XML 文档转换为 XHTML,兼容IE和Firefox
- 利用XSLT把ADO记录集转换成XML
- 利用客户端XSLT样式表转换xml文档
- ADO数据与XML数据间的转换的类(ASP实现)