本文以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—

原创内容,如需转载请务必注明出处!

最新文章

  1. Android实战技巧:ViewStub的应用
  2. DataTable、List使用groupby进行分组和分组统计;List、DataTable查询筛选方法
  3. react 年-月-日 时:分:秒
  4. Windows完成端口网络模型
  5. UITableView多选全选
  6. YII中的AR与DAO
  7. Android建立模拟器进行调试
  8. 识别Andriod APK签名证书类型
  9. semantic UI first web
  10. Laravel学习笔记(三)--在CentOS上配置Laravel
  11. js通過name获取input框输入值
  12. 201772020113 李清华《面向对象程序设计(java)》第18周学习总结
  13. 设置防火强开机自启,以及没有成功的tomcat开机自启
  14. solr配置ik中文分词(二)
  15. Python中的实例方法、classmethod和staticmethod的区别
  16. CodeFirst简单演示的步骤
  17. 从零开始学 Web 之 DOM(四)节点
  18. killall 、kill 、pkill 命令详解 【转】
  19. Apple原装扫描二维码指定区域
  20. Flask系列之蓝图中使用动态URL前缀

热门文章

  1. 用C/C++手撕CPlus语言的集成开发环境(1)—— 语言规范 + 词法分析器
  2. SQL 查询的执行顺序
  3. 记一次linux下安装ftp的愉快体验
  4. composer 使用提示
  5. Android最新敲诈者病毒分析及解锁(11月版)
  6. 从苏宁电器到卡巴斯基第30篇:难忘的三年硕士时光 VIII
  7. 路由器逆向分析------在Linux上安装IDA Pro
  8. Win64 驱动内核编程-16.WFP网络监控驱动(防火墙)
  9. c/c++ 中访问2维数组的方式
  10. Day002 Hello,World!!!