使用Spire.XLS for Java 删除EXCEL文件的某一列或行

本文介绍了如何使用Spire.XLS for Java组件来删除Excel文件中的列和行。通过加载Excel文件,获取工作表,然后调用`deleteColumn()`和`deleteRow()`方法实现操作。注意不同方法的索引起始点可能不同,如删除列的索引从1开始。使用此组件,可以简化Java代码对Excel的读写,提高效率。

  因工作需要,一直在摸索使用java代码操作Excel文件的方式,之前一直使用POI的方式在进行读写,代码冗长,不易维护。无意中发现了Spire.XLS for Java 这个java操作excel的组件。它可以很方便的操作EXCEL文件,

官网地址:https://www.e-iceblue.cn/Downloads/Free-Spire-XLS-JAVA.html

同时他也有自己的帮助文档,虽说个人觉得帮助文档写的不够详细,但是仔细研究一下、查看源码还是大概可以完成一些简单的功能。

     该组件包可以通过maven仓库下载:

    <repositories>
        <repository>
            <id>com.e-iceblue</id>
            <name>e-iceblue</name>
            <url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>
        </repository>
    </repositories>


        <dependency>
            <groupId>e-iceblue</groupId>
            <artifactId>spire.xls.free</artifactId>
            <version>2.2.0</version>
        </dependency>

  首先体验最简单的功能,用JAVA代码对EXCEL表格里的一列或多列进行删除,

/***
     * 删除不需要的列,保留需要的“峰值流出流速(Mbit/s)等需要的信息”
     */
    public static void deleteOLTCol() {

        //加载文档
        Workbook wb = new Workbook();
        System.out.println("加载OLT流量报表....");
        wb.loadFromFile("F:\\Datareport\\OLT.xlsx");

        //获取工作表
        Worksheet sheet = wb.getWorksheets().get(0);
        //从第9列开始删除,删除9列在内的4列
        sheet.deleteColumn(9, 4);
        //经过上一次删除后,索引重新从1开始,从第11列开始,删除11列在内的4列
        sheet.deleteColumn(11, 4);
        //保存文档
        wb.saveToFile("F:\\Datareport\\OLT流量报表.xlsx");
        wb.dispose();
        System.out.println("OLT流量报表格式整理完成....");
    }

   首先要导入 import com.spire.xls.Workbook,或者直接导入import com.spire.xls.*,通过Workbook的对象wb的loadFromFile()方法获得需要操作的Excel文件,然后去获得他的工作表,此处工作表的索引从0开始,即第一张工作表是wb.getWorksheets().get(0),(此处想要吐槽一下,这个组件的索引不太明确,有的索引从1开始,有的从0开始,经常会弄乱。比如他的复制单元格内容,有的索引就是从1开始)

想要删除某一列单元格在这个组件上操作很方便,获得工作表对象sheet后,调用它的deleteColum()方法即可,Spire .XLS for Java的源码如下:

 此时的index是从1开始的,sheet.deleteColumn(9, 4)的意思是删除从第9列开始删除,删除第9列在内的4列,即9、10、11、12列:

 我要删除这4列,执行后结果如下:

最后调用保存方法保存到另一个文件,对源文件不会造成数据的损失,wb.saveToFile();

同理,如果要删除某银行,调用sheet.deleteRow(int index, int count)方法。

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值