本文以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.jar 3.9.1
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—
原創內容,如需轉載請務必註明出處!