OpenOffice和LibreOffice Calc是能够通过XSLT
与Export Filters
转变其XML。与您的数据。例如这样做,请执行下列操作:
起初创建以下XSL文件并将其保存为SampleDataExportFilter.xsl
:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" exclude-result-prefixes="office table text">
<xsl:template match="/">
<root>
<xsl:apply-templates select="/*/office:body" />
</root>
</xsl:template>
<xsl:template match="office:body">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="office:spreadsheet">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="office:spreadsheet/table:table">
<xsl:for-each select="table:table-row[position() > 1]">
<CustData>
<FirstName><xsl:value-of select="table:table-cell[2]/text:p" /></FirstName>
<MiddleName><xsl:value-of select="table:table-cell[3]/text:p" /></MiddleName>
<LastName><xsl:value-of select="table:table-cell[4]/text:p" /></LastName>
<EMail><xsl:value-of select="table:table-cell[5]/text:p" /></EMail>
<PhoneNumber><xsl:value-of select="table:table-cell[6]/text:p" /></PhoneNumber>
</CustData>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
现在打开计算器,选择Tools
- XML Filter Settings
:
选择New
并填写对话框General
:
与
Close
确认与OK
和XML过滤器设置:
在寄存器Transformation
选择SampleDataExportFilter.xsl
作为XSLT for export
。
现在创建以下文件计算器:
随着File
- Export
你现在应和能够使用File type
CustData (.xml)
作为XML导出的电子表格数据。
OpenOffice和Microsoft Office格式已经以XML格式(或压缩的XML格式)存在。您应该将Calc保存的实际XML文档作为输入,并使用XSLT对其进行转换。 –
@MathiasMüller从哪里可以得到Calc保存的实际XML文档,XSLT是如何转换的以及我们如何使用它?如果openoffice给出了一个例子,那对我来说真的很有帮助。 – Rohit
Calc将文档保存为文件系统中的_file_。如果您在纯文本编辑器中打开这样的文件,您将立即看到它是一个XML文档。看看这个纯文件,找出有趣的数据所在的位置。使用XSLT模板定位这些元素。请注意:我只能指出你的方向是正确的,你的问题对于Stackoverflow来说过于模糊和广泛。 –