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來說過於模糊和廣泛。 –