POI删除Excel的sheet页

POI删除Excel的sheet页

poi有删除一个sheet页的方法,我希望除了一个sheet页之外其他的都删除,但是使用的时候发现,删除之后经常会出现文件破坏的提示,研究发现,是由于excel有一个默认的当前页功能。

比如表格中有3个sheet页,保存的时候默认显示的是第三页,那么删除两页之后,表格只剩一页,打开的时候表格会显示第三页失败,就会提示文件损坏。。

遇到这种情况,有两种方法:

  1. 将表格默认显示的页改为第一页再处理
  2. 使用代码修改默认页。

此方法删除表格中除了传入的页之外所有的页

    /**
     * 删除模板表格(除了 id之外所有的)
     */
    public static void removeModelSheet(Workbook wb, int id) {
        int numberOfSheets = wb.getNumberOfSheets();
        for (int i = numberOfSheets - 1; i > -1; i--) {
            if (i != id) {
                wb.removeSheetAt(i);
            }
        }
        //设置默认显示第一页
        wb.setActiveSheet(0);
    }
    /**
     * 删除模板表格(除了 name之外所有的)
     */
    public static void removeModelSheet(Workbook wb, String name) {
        int sheetIndex = wb.getSheetIndex(wb.getSheet(name));
        removeModelSheet(wb,sheetIndex);
    }
    /**
     * 删除模板表格(除了 noDelSheet之外所有的)
     */
    public static void removeModelSheet(Workbook wb, Sheet noDelSheet) {
        int sheetIndex = wb.getSheetIndex(noDelSheet);
        removeModelSheet(wb,sheetIndex);
    }

原文地址:https://www.cnblogs.com/ziyue7575/p/12515903.html

时间: 2024-08-30 06:50:58

POI删除Excel的sheet页的相关文章

JAVA读取Excel中sheet页内容

package com.bestpay.bpbp.bill.init; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.BiffException; import java.io.File; import java.io.IOException; public class ReadExcelDataForTestNG {    private static  String parementF

POI教程之第一讲:创建新工作簿, Sheet 页,创建单元格

第一讲 Poi 简介 Apache POI 是Apache 软件基金会的开放源码函数库,Poi提供API给java程序对Microsoft Office格式档案读和写的功能. 1.创建新工作簿,并给工作簿命名 Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿 FileOutputStream fileOut=new FileOutputStream("c:\\用Poi搞出来的工作簿.xls"); wb.write(fileOut); fileOu

(一)JAVA使用POI操作excel

1,Poi 简介 Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能 POI为“Poor Obfuscationmplementation”的首字母缩写,意为“可怜的模糊实现”. Apache POI 是创建和维护操作各种符合Office Open XML(OOXML)标准和微软的OLE 2复合文档格式(OLE2)的Java API.用它可以使用Java读取和创建,修改M

POI读写Excel简述之读取

一.POI读取Excel文件(以Excel2003版为例,2007版就是根据文件扩展名xlsx将HSSFWorkbook换为XSSFWorkbook,及其Sheet.Row.Cell也相应替换) //filePath为Excel文件完整路径 1.//创建File对象 File file = new File(filePath); 2.//判断文件是否存在,不存在直接退出函数 if(!file.exists()){return null} 3.//将文件读入文件流 InputStream inpu

java操作Excel的poi 创建一个sheet页

package com.java.poi; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Workbook; import java.io.FileOutputStream; /** * @author nidegui * @create 2019-06-17 9:42 */ public class Test2 { /** * 创建一个sheet页 * @param a

Java导出Excel Sheet页

1.问题背景 导出Excel表格时,首先要生成Sheet页,下面将介绍如何生成Sheet页 2.实现源码 /** * * @Project: * @Title:ExcelExport.java * @Package:report.utils * @Description: * @Author:YouHaiDong * @Date:2015年11月2日 下午6:29:22 * @Version: */ package report.utils; import java.io.FileNotFoun

EBS 多sheet页Excel动态报表开发过程

http://zhangzhongjie.iteye.com/blog/1779891 .前言本文讲述的多Sheet页EXCEL报表开发方式和开发HTML,PDF这类报表的方法大致是一致的,唯一不同的是该报表输出是一个XML文件,但是这种XML文件支持EXCEL直接打开.这种方式有如下两点点非常明显的优点:(1) 灵活性.如果客户对报表显示样式要求非常严格的话,那用这种方式就非常方便了,就比如我这次项目的客户是个德国人,对报表的显示样式要求极为苛刻,甚至严格到每个列的颜色,边框线,列宽,字体等.

java的poi技术写Excel的Sheet

在这之前写过关于java读,写Excel的blog如下: Excel转Html java的poi技术读,写Excel[2003-2007,2010] java的poi技术读取Excel[2003-2007,2010] java的poi技术读取Excel数据到MySQL java的jxl技术导入Excel java的poi技术读取和导入Excel 然而,这篇blog主要内容是关于Excel里面怎样去写Sheet数据. 那么在Excel里面什么叫做Sheet呢?如下图红色框里面的内容就是Excel的

2007版本excel多个sheet页数据通过ibatis批量导入数据库

页面部分 <form method="post" name ="test" enctype="multipart/form-data"> <input type="file" name="file"/> </form> 实体类部分 public Class Test{ private String id; private String name; private Stri