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

Jar文件获取及导入:

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

方法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);

}

}

删除效果:

【示例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);

}

}

删除效果:

【示例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 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 getRowList(Worksheet sheet, String keyword) {

int rowNum;

List 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 列_Java 删除Excel中的行和列相关推荐

  1. python 删除excel空行_Java 删除 Excel 中的空白行和列

    Java 删除 当我们在操作一些包含大量数据的 Excel原文档如下: 产品安装: 1. 下载Free Spire.XLS for Java包并解压缩,然后将lib文件夹下的Spire.Xls.jar ...

  2. Microsoft Excel 教程:如何在 Excel 中插入或删除行和列?

    欢迎观看 Microsoft Excel 教程,小编带大家学习 Microsoft Excel 的使用技巧,了解如何在 Excel 中插入或删除行和列.插入和删除行和列以更好地组织工作表. 插入或删除 ...

  3. exce中让两列数据一一对应_EXCEL表格如何匹配两列数据一样-EXCEL让两个表格中的两列数据一一对应...

    怎样把excel中两列有部分相同的数据进行匹配? 1.首先打开excel表格,可以看到有两列数据需要匹配,找出列B中在列A中没有的数据. 2.然后在C1单元格内输入函数公式:=IF(ISNA(VLOO ...

  4. Word控件Spire.Doc 【Table】教程(17):如何在 C#、VB.NET 中删除 Word 表格中的行和列

    Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库.在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建.编辑.转换和打印 Micr ...

  5. pandas使用query函数删除dataframe中某一列数值小于某一特定值的行(remove dataframe rows baed on column value)

    pandas使用query函数删除dataframe中某一列数值小于某一特定值的行(remove dataframe rows baed on column value) 目录

  6. pandas使用query函数删除dataframe中某一列数值等于某一特定值的行(remove dataframe rows baed on column value)

    pandas使用query函数删除dataframe中某一列数值等于某一特定值的行(remove dataframe rows baed on column value) 目录

  7. 根据列值删除Pandas中的DataFrame行

    本文翻译自:Deleting DataFrame row in Pandas based on column value I have the following DataFrame: 我有以下Dat ...

  8. Python中通过索引名称提取数据loc()函数Python中通过行和列下标提取数据iloc()函数

    [小白从小学Python.C.Java] [Python全国计算机等级考试] [Python数据分析考试必会题] ● 标题与摘要 Python中通过索引名称提取数据 loc()函数 Python中通过 ...

  9. 成功解决采用ax.bar进行三维绘图绘制柱状图的时候,横坐标只显示三列而不是数据中的四列

    成功解决采用ax.bar进行三维绘图绘制柱状图的时候,横坐标只显示三列而不是数据中的四列 目录 解决问题 解决思路 解决方法 解决问题 输入数据为四列五行,如下所示: labelX_lists02= ...

最新文章

  1. 学霸现身!博士生发18篇SCI,4篇CNS子刊,开学典礼上全场震撼
  2. [转]使用 C 编写 Lua 模块
  3. vassist的安装
  4. CactiEZ V10.1 中文版 Cacti中文解决方案+使用教程(1)
  5. Batch Norm、Layer Norm、Instance Norm、Group Norm、Switchable Norm总结
  6. 使用CMS垃圾收集器产生的问题和解决方案
  7. leetcode 594. Longest Harmonious Subsequence | 594. 最长和谐子序列
  8. UI5的货币显示格式的逻辑
  9. linux 查询oracle情况,在Linux下使用SQLPlus查看Oracle数据库表空间及使用率
  10. SecureCRTSecureFX_HH_x64_7.0.0.326 crt部署项目到服务器
  11. Python 小入坑
  12. 48条高效率的PHP优化写法
  13. winxp关闭系统音频服务器,xp系统显示没有音频设备怎么办 xp系统音频驱动异常或者未安装如何解决...
  14. 截图上传录屏gif上传工具推荐
  15. 互联网产品常用英语单词
  16. 中学语文教学参考杂志社中学语文教学参考编辑部2022年第27期目录
  17. Oracle ADF 12.2.1 使用报告
  18. Y05 - 024、数据的应用①:四则运算、运算优先级
  19. 尊贵荣耀 诺基亚8系列手机回忆录
  20. C++高级搜索算法迭代加深—————骑士精神

热门文章

  1. 与门,AND Gate
  2. 业余草告诉你甲骨文正式宣布将 Java EE 移交给 Eclipse 基金会
  3. windows和Linux常用命令
  4. 数据可视化项目学习思维导图
  5. etcher刻录以后U盘容量只有12M,如何恢复容量?
  6. mysql能不能存储图片_韩魔方视频app下载免费_电脑知识学习网
  7. cocos creator制作游戏实战-Flak Cannon(二)
  8. 3dMax夜晚行车灯光轨迹一键生成插件TrafficTrails使用教程
  9. 利用 clip-path 绘制不规则的图形
  10. 鼠标上下滚轮不灵敏的修复方法