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.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文件,如下内容:


        
            com.e-iceblue
            http://repo.e-iceblue.cn/repository/maven-public/
        
    

    
         e-iceblue 
        spire.xls.free
        3.9.1
    


完成配置后,点击“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> 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—




请使用浏览器的分享功能分享到微信等