zoukankan      html  css  js  c++  java
  • 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.1libSpire.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—

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

  • 相关阅读:
    c++看题
    理想化
    thin mission
    编程时 和 thinking
    tiny mission 2021 10 20
    A Magic Lamp HDU
    Poj 3370
    鸽巢原理(抽屉原理)
    Miller-Rabin质数测试
    Nim or not Nim? HDU
  • 原文地址:https://www.cnblogs.com/Yesi/p/14821883.html
Copyright © 2011-2022 走看看