XML(Extensible Markup Language)是一种超文本标记语言,同时也是一种文件格式。XML有可自定义标签、可扩展、易于读取编辑、易于传输等特点,已成为应用程序之间交换数据最常用的工具。得益于微软的OpenXML,Excel表格也支持基于XML的文档格式,便于传输,也方便开发者对表格进行操作。但表格到达普通用户的时候,还是需要以xls或xlsx等格式呈现,方便用户阅读、编辑。本文将介绍如何将XML文件于Execl表格之间的转换方法。
本文所使用的方法需要用到免费的jar,Free Spire.XLS for Java,需先添加到项目引用项中。

1. Maven

prom.xml代码:

<repositories>
        <repository>
            <id>com.e-iceblue</id>
            <name>e-iceblue</name>
         <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls.free</artifactId>
        <version>5.1.0</version>
    </dependency>
</dependencies>

2. 官网下载

在Spire.Doc for Java免费版官网下载免费版,解压后,在“Project Structure“中,找到”Modules“,然后在其中的“Dependencies”中,添加解压出的“lib”文件夹下的Spire.Doc.jar文件。

Excel表格转换为XML文件

步骤:

  1. 创建 Workbook 类的对象。
  2. 用 Workbook.loadFromFile() 方法从磁盘载入Excel表格。
  3. 用 Wordbook.saveToFile() 方法将表格转换为XML文件并保存。

Java

import com.spire.xls.FileFormat;
import com.spire.xls.Workbook;

public class ExcelToXML {
    public static void main(String[] args) {
        //创建 Workbook 类的对象
        Workbook workbook = new Workbook();

        //从磁盘加载Excel表格
        workbook.loadFromFile("C:/Samples/Sample.xlsx");

        //将表格转换为XMl文件并保存
        workbook.saveToFile("ExcelToXML.xml", FileFormat.XML);
    }
}

转换效果示意:
Excel转XML

XML文件转Excel表格

XML文件可以储存任意数据,因此能转换为Excel表格的XML文件通常是OpenXML表格文件。
步骤:

  1. 创建 Workbook 类的对象.
  2. 用 Workbook.loadFromXml() 方法从磁盘载入XML文件并转换为Excel表格。
  3. 用 Workbook.saveToFile() 方法保存表格文档。

Java

import com.spire.xls.FileFormat;
import com.spire.xls.Workbook;

public class XMLToExcel {
    public static void main(String[] args) {
        //创建 Workbook 类的对象
        Workbook workbook = new Workbook();

        //从磁盘载入XML文件并转换为Excel表格
        workbook.loadFromXml("C:/Users/Allen/Desktop/Sample2.xml");

        //保存表格文档
        workbook.saveToFile("XMLToExcel.xlsx", FileFormat.Version2016);
    }
}

转换效果示意:
XML转Excel

以上代码中的引用均来自免费的Free Spire.XLS for Java。


大丸子
12 声望3 粉丝