Java 將Excel轉為SVG的方法


本文以Java示例展示如何將Excel文檔轉為SVG格式。通過本文中的方法,在將Excel轉為SVG時,如果sheet工作表中手動設置了分頁,則將每個分頁的內容單獨保存為一個svg文件,如果sheet工作表中沒有設置分頁,則將Excel sheet表格中默認的分頁范圍保存為svg。即,轉換時,按工作表中分頁符位置來轉換為單個svg。

1. 程序運行環境如下:

編譯工具:IDEA

JDK版本:1.8.0

Excel測試文檔:.xlsx 2013

Excel工具jar包:Free Spire.XLS for Java

 

2.關於如何導入jar

方法1:手動下載jar包。解壓,將文件路徑:D:\...\Spire.Xls-FE_3.9.1\lib\Spire.Xls.jar中的文件導入Java程序(即本文中使用的方法)。

方法2:Maven倉庫下載導入。先在maven程序中配置pom.xml文件,如下內容:

<repositories>

        <repository>

            <id>com.e-iceblue</id>

            <url>http://repo.e-iceblue.cn/repository/maven-public/</url>

        </repository>

    </repositories>

<dependencies>

    <dependency>

        <groupId> e-iceblue </groupId>

        <artifactId>spire.xls.free</artifactId>

        <version>3.9.1</version>

    </dependency>

</dependencies>

 

完成配置后,點擊“Import”下載導入。

 

3. Java代碼

import com.spire.xls.*;

import java.io.FileOutputStream;
import java.util.List;
import java.util.Map;


public class ExcelToSVG {
    public static void main(String[] args) throws Exception{
        //加載Excel測試文檔
        Workbook workbook = new Workbook();
        workbook.loadFromFile("sample.xlsx");

        int count = 1;

        //獲取分頁信息
        List<Map<Integer, PageColRow>> pageInfoList = workbook.getSplitPageInfo();

        //遍歷工作表
        for (int i = 0; i < workbook.getWorksheets().getCount(); i++)
        {
            Worksheet sheet = workbook.getWorksheets().get(i);

            FileOutputStream stream;
            Map integerPageColRowMap = pageInfoList.get(i);//獲取每頁sheet的分頁信息
            for (Object object : integerPageColRowMap.values())
            {
                PageColRow colRow = (PageColRow) object;

                stream = new FileOutputStream( (count++) + "-ExcelToSVG.svg");//指定文件名輸出格式

                //保存為SVG
                sheet.toSVGStream(stream, colRow.StartRow, colRow.StartCol, colRow.EndRow, colRow.EndCol);
                stream.flush();
                stream.close();
            }
        }

    }
}

轉換結果可在IDEA項目文件夾下查看,如下圖:

 

—End—

原創內容,如需轉載請務必注明出處!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM