Java删除Excel中的行和列

栏目: IT技术 · 发布时间: 5年前

内容简介:Excel是日常工作中常用的办公软件之一。在制作表格的时候,有时需要在工作表中插入一个或多个行和列,同时也会遇到需要将工作表中多余的行或列删除的情况。本文就将通过使用Java程序来演示如何删除Excel中的行和列,主要包含了删除指定的行和列、删除空白的行和列,以及删除含有关键字的行。方法1:通过官方网站下载获取jar包。解压后将lib文件夹下的Spire.Xls.jar文件导入Java程序。(如下图)

Excel是日常工作中常用的办公软件之一。在制作表格的时候,有时需要在工作表中插入一个或多个行和列,同时也会遇到需要将工作表中多余的行或列删除的情况。本文就将通过使用 Java 程序来演示如何删除Excel中的行和列,主要包含了删除指定的行和列、删除空白的行和列,以及删除含有关键字的行。

Java删除Excel中的行和列

使用工具:Free Spire.XLS for Java (免费版)

Jar文件获取及导入:

方法1:通过官方网站下载获取jar包。解压后将lib文件夹下的Spire.Xls.jar文件导入Java程序。(如下图)

Java删除Excel中的行和列

方法2:通过maven仓库安装导入。具体安装详解参见此网页。

【示例1】删除指定的行和列

import com.spire.xls.ExcelVersion; 
import com.spire.xls.Workbook; 
import com.spire.xls.Worksheet; 
 
public class DeleteSpecificRowsAndColumns { 
    public static void main(String[] args) { 
 
        //创建一个Workbook类的对象,并加载测试文档 
        Workbook wb = new Workbook(); 
        wb.loadFromFile("D:\\Desktop\\Sample.xlsx"); 
 
        //获取工作表 
        Worksheet sheet = wb.getWorksheets().get(0); 
 
        //通过索引删除指定的行 
        sheet.deleteRow(4); 
 
        //通过索引删除指定的列 
        sheet.deleteColumn(5); 
 
        //保存文档 
        wb.saveToFile("output/DeleteSpecificRowsAndColumns.xlsx", ExcelVersion.Version2016); 
 
    } 
} 

删除效果:

Java删除Excel中的行和列

【示例2】删除空白的行和列

import com.spire.xls.ExcelVersion; 
import com.spire.xls.Workbook; 
import com.spire.xls.Worksheet; 
public class DeleteBlankRowsAndColumns { 
    public static void main(String[] args) { 
        //创建一个Workbook类的对象,并加载测试文档 
        Workbook wb = new Workbook(); 
        wb.loadFromFile("D:\\Desktop\\Sample2.xlsx"); 
 
        //获取工作表 
        Worksheet sheet = wb.getWorksheets().get(0); 
 
        //遍历所有列 
        for (int i = sheet.getLastRow(); i >= 1; i--) 
        { 
            //删除空白列 
            if (sheet.getRows()[i-1].isBlank()) 
            { 
                //移除空白列 
                sheet.deleteRow(i); 
            } 
        } 
 
        //遍历所有行 
        for (int j = sheet.getLastColumn(); j >= 1; j--) 
        { 
            //删除空白行 
            if (sheet.getColumns()[j-1].isBlank()) 
            { 
                //移除空白行 
                sheet.deleteColumn(j); 
            } 
        } 
 
        //保存文档 
        wb.saveToFile("output/DeleteBlankRowsAndColumns.xlsx", ExcelVersion.Version2016); 
 
    } 
} 

删除效果:

Java删除Excel中的行和列

【示例3】删除含有关键字的行

import com.spire.xls.*; 
import java.util.ArrayList; 
import java.util.List; 
public class DeleteRowsByKeywords { 
    public static void main(String[] args) { 
        //创建一个Workbook类的对象,并加载测试文档 
        Workbook wb = new Workbook(); 
        wb.loadFromFile("D:\\Desktop\\Sample3.xlsx"); 
 
        //获取工作表 
        Worksheet sheet = wb.getWorksheets().get(0); 
 
        //通过getRowList方法获取含有关键字的列 
        List<Integer> list = getRowList(sheet,"你好,世界!"); 
 
        //遍历所有工作表 
        for (int i = 0; i < list.size(); i++) { 
 
            //删除特定列 
            sheet.deleteRow(list.get(i)); 
        } 
 
        //保存文档 
        wb.saveToFile("output/DeleteRowsByKeywords.xlsx",ExcelVersion.Version2016); 
    } 
 
    //创建getRowList方法获取含有关键字的列数 
    static List<Integer> getRowList(Worksheet sheet, String keyword) { 
 
        int rowNum; 
        List<Integer> rowList = new ArrayList<>(); 
        for (int i = sheet.getLastRow(); i >= 1; i--) { 
            rowNum = i; 
            for (int j = sheet.getLastColumn(); j >= 1; j--) { 
 
                if (sheet.get(i, j).getText().contains(keyword)) { 
 
                    rowList.add(rowNum); 
                    break; 
                } 
            } 
        } 
        return rowList; 
 
    } 
} 

删除效果:

Java删除Excel中的行和列


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Implementing Responsive Design

Implementing Responsive Design

Tim Kadlec / New Riders / 2012-7-31 / GBP 27.99

New devices and platforms emerge daily. Browsers iterate at a remarkable pace. Faced with this volatile landscape we can either struggle for control or we can embrace the inherent flexibility of the w......一起来看看 《Implementing Responsive Design》 这本书的介绍吧!

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具