加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在OpenOffice中以XML格式转换Calc(Excel)数据

发布时间:2020-12-16 23:14:23 所属栏目:百科 来源:网络整理
导读:我需要将OpenOffice Excel数据转换为 XML.我的机器(不是MS-Office)中有Apache OpenOffice 4.1.1. 样本数据. (第一行是标签) CustData FirstName MiddleName LastName EMail PhoneNumber abe x Park abe@mail.com 2323232323 poppy y Kaith Poppy@mail.com 23
我需要将OpenOffice Excel数据转换为 XML.我的机器(不是MS-Office)中有Apache OpenOffice 4.1.1.

样本数据.
(第一行是标签)

CustData FirstName  MiddleName  LastName   EMail             PhoneNumber
           abe       x          Park      abe@mail.com       2323232323
           poppy     y          Kaith     Poppy@mail.com     2323232323

需要结果如下:

<CustData>
        <FirstName>abe</FirstName>  
        <MiddleName>x</MiddleName>
        <LastName>Park</LastName>   
        <EMail>abe@mail.com</EMail>             
        <PhoneNumber>2323232323</PhoneNumber>
</CustData>
<CustData>
       <FirstName>poppy</FirstName>  
       <MiddleName>y</MiddleName>
       <LastName>Kaith</LastName>   
        <EMail>Poppy@mail.com </EMail>             
        <PhoneNumber>2323232323</PhoneNumber>
</CustData>

解决方法

Openoffice和Libreoffice Calc能够通过XSLT和导出过滤器转换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() &gt; 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>

现在打开Calc并选择Tools – XML Filter Settings:

enter image description here

选择新建并填写对话框常规:

enter image description here

在注册Transformation中,选择SampleDataExportFilter.xsl作为XSLT进行导出:

enter image description here

单击确定确认,并使用关闭的XML过滤器设置.

现在创建以下Calc文件:

enter image description here

使用文件 – 导出,您现在可以使用文件类型CustData(.xml)作为XML导出电子表格数据.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读