本文内容将介绍通过Java程序如何添加、删除、移动工作表,以及设置工作表隐藏、显示等操作。文中使用了Java Excel类库(Free Spire.XLS for Java 免费版),可通过官网下载包,解压,并将lib文件夹下的Spire.Xls.jar文件导入Java程序;或者通过maven仓库下载并导入,仓库路径配置及依赖添加可参考教程

导入效果如下:

1. 添加、删除工作表

import com.spire.xls.*;

public class AddWorksheet {
public static void main(String[] args) {
//加载文档
Workbook wb = new Workbook();
wb.loadFromFile("test.xlsx"); //添加一个新的工作表
Worksheet newsheet = wb.getWorksheets().add("NewSheet");
newsheet.getCellRange("E3").setText("新添加的内容"); //删除第二个工作表
Worksheet sheet1 = wb.getWorksheets().get(1);
sheet1.remove(); //保存文档
wb.saveToFile("AddAndRemoveWorksheet.xlsx");
wb.dispose();
}
}

工作表添加、删除结果:

2. 移动工作表

import com.spire.xls.*;

public class MoveWorksheet {
public static void main(String[] args) {
//加载文档
Workbook wb = new Workbook();
wb.loadFromFile("test.xlsx"); //获取工作表
Worksheet sheet = wb.getWorksheets().get(0); //移动工作表作为第三张工作表
sheet.moveWorksheet(2); //保存文档
wb.saveToFile("MoveWorksheet.xlsx",FileFormat.Version2013);
wb.dispose();
}
}

工作表移动结果:

3. 隐藏工作表

import com.spire.xls.*;

public class HideWorksheet {
public static void main(String[] args) {
//加载文档
Workbook wb = new Workbook();
wb.loadFromFile("test.xlsx"); //获取第一个工作表,隐藏(这里获取工作表,可以通过索引值或者工作表名称来获取)
Worksheet sheet = wb.getWorksheets().get(0);
Worksheet sheet1 = wb.getWorksheets().get("Sheet3");
sheet.setVisibility(WorksheetVisibility.Hidden);
sheet1.setVisibility(WorksheetVisibility.Hidden); //保存文档
wb.saveToFile("HideWorksheet.xlsx");
wb.dispose();
}
}

工作表隐藏结果:

4. 显示(取消隐藏)工作表

import com.spire.xls.*;

public class ShowWorksheet {
public static void main(String[] args) {
//加载文档
Workbook wb = new Workbook();
wb.loadFromFile("HideWorksheet.xlsx"); //遍历所有工作表,显示所有隐藏的工作表
for (int i = 0; i < wb.getWorksheets().getCount();i++){
Worksheet sheet = wb.getWorksheets().get(i);
sheet.setVisibility(WorksheetVisibility.Visible);
} /*//显示指定工作表
Worksheet sheet1 = wb.getWorksheets().get("Sheet1");
sheet1.setVisibility(WorksheetVisibility.Visible);*/ //保存文档
wb.saveToFile("ShowWorksheet.xlsx");
wb.dispose();
}
}

全部工作表显示结果:

指定工作表显示结果:

(本文完)

Java 添加、删除、移动、隐藏/显示Excel工作表的更多相关文章

  1. Android View添加删除或隐藏显示的默认动画;

    代码中给控件设置Visibility ? VISIBLE : GONE ;时太生硬,用户体验不好:设置一个Android ViewGroup的默认动画很实用: 给需要添加动画的控件或布局的父布局,记住 ...

  2. Java 复制Excel工作表

    本文归纳了关于Java如何复制Excel工作表的方法,按不同复制需求,可分为: 1. 复制工作表 1.1 在同一个工作簿内复制工作表 1.2 在不同工作簿间复制工作表 2. 复制指定单元格数据 对于复 ...

  3. C#7.2——编写安全高效的C#代码 c# 中模拟一个模式匹配及匹配值抽取 走进 LINQ 的世界 移除Excel工作表密码保护小工具含C#源代码 腾讯QQ会员中心g_tk32算法【C#版】

    C#7.2——编写安全高效的C#代码 2018-11-07 18:59 by 沉睡的木木夕, 123 阅读, 0 评论, 收藏, 编辑 原文地址:https://docs.microsoft.com/ ...

  4. C#将一个excel工作表根据指定范围拆分为多个excel文件

    C#将一个excel工作表根据指定范围拆分为多个excel文件 微软Excel没有提供直接的方法来拆分excel文件,因此要拆分一个excel文件最简单的方法可能就是手动剪切和粘贴了,除此之外,还有其 ...

  5. C# 如何合并Excel工作表

    文档合并.拆分是实现文档管理的一种有效方式.在工作中,我们可能会遇到需要将多个文档合并的情况,那如何来实现呢,本文将进一步介绍.关于拆分Excel工作表,可参见这篇文章--C#如何拆分EXCEL工作表 ...

  6. C# 合并Excel工作表

    文档合并.拆分是实现文档管理的一种有效方式.在工作中,我们可能会遇到需要将多个文档合并的情况,那如何来实现呢,本文将进一步介绍.关于拆分Excel工作表,可参见这篇文章——C#如何拆分EXCEL工作表 ...

  7. 移除Excel工作表密码保护小工具含C#源代码

    有朋友发了个Excel.xlsx文件给我,让我帮忙看看里面是怎么做出来的.打开审阅后发现,每个Excel工作表都添加了密码保护: 看不到里面的隐藏列和公式等等,感觉很神秘.于是研究了一下Excel文件 ...

  8. excel工作表密码破解方法

    在日常工作中,大家有时会遇到过这样的情况:使用Excel编制的报表.表格.程序等,在单元格中设置了公式.函数等,为了防止其他人修改您的设置或者防止您自己无意中修改,您可能会使用Excel的工作表保护功 ...

  9. VBA基础之Excel 工作表(Sheet)的操作(二)

    二. Excel 工作表(Sheet)的操作1. Excel 添加工作表(Sheet) 方法名 参数 参数值 说明 Add Before 工作表名称 在指定的工作表前面插入新的工作表 After 工作 ...

随机推荐

  1. Docker 运行 MYSQL 数据库的总结

    公司里面要求做一个小demo 学习java相关的东西 然后使用了mysql数据库 很早之前做过mysql的容器化运行. 现在想想已经忘记的差不多了  所以这里总结一下 docker化运行mysql数据 ...

  2. sql 循环转移备份数据

    --创建表结构 select top 1 * into ATable_20190710 from ATable --转移表数据 insert into ATable_20190710 select t ...

  3. 小菜鸟之HTML常用

    html的基本结构是什么? 表示段落标签是什么?<p> 表示标题标签的是什么?<title>Css标签样式</title> 表示区域标签的是什么?<div&g ...

  4. Codeforces Educational Codeforces Round 3 E. Minimum spanning tree for each edge 树上倍增

    E. Minimum spanning tree for each edge 题目连接: http://www.codeforces.com/contest/609/problem/E Descrip ...

  5. 【原创】大数据基础之Kudu(6)kudu tserver内存占用统计分析

    kudu tserver占用内存过高后会拒绝部分写请求,日志如下: 19/06/01 13:34:12 INFO AsyncKuduClient: Invalidating location 34b1 ...

  6. js循环遍历性能

    定length for循环 (有length) 不定length for循环(使用数组length) 不定length for循环(判断数组length是否存在) forEach(Array自带,对某 ...

  7. TCP/IP协议栈各个层次及分别的功能

    网络接口层:这是协议栈的最低层,对应OSI的物理层和数据链路层,主要完成数据帧的实际发送和接收.网络层:处理分组在网络中的活动,例如路由选择和转发等,这一层主要包括IP协议.ARP.ICMP协议等.传 ...

  8. Laravel 查询数据按照时间分组

    首先取消严格模式: // config/database.php // 'strict' => true, // 严谨模式注释掉 查询构造器代码: //查询构造器部分代码 })->with ...

  9. MyBatis-plus 新增实例,主键ID从很大的数字开始

    mybatis-plus是mybatis增强版,用mybatis-plus可以省去很多DAO层代码和数据库操作语句的编写.但是需要我们配置好条件. 情景: 向数据库新增一条实例,我们要调用 inser ...

  10. maven 父子工程打包 并且上传linux服务器

    先对父工程进行 mvn clean 再对子工程执行 install wagon:upload-single wagon:sshexec 使用wagon前提: 本地maven 的settings.xml ...