Class WorksKit

java.lang.Object
org.aoju.bus.office.excel.WorksKit

public class WorksKit extends Object
Excel工作簿Workbook相关工具类
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static org.apache.poi.ss.usermodel.Workbook
    createBook(boolean isXlsx)
    创建新的空白Excel工作簿
    static org.apache.poi.ss.usermodel.Workbook
    createBook(File excelFile)
    创建或加载工作簿
    static org.apache.poi.ss.usermodel.Workbook
    createBook(File excelFile, boolean readOnly)
    创建或加载工作簿
    static org.apache.poi.ss.usermodel.Workbook
    createBook(File excelFile, String password)
    创建或加载工作簿,只读模式
    static org.apache.poi.ss.usermodel.Workbook
    createBook(File excelFile, String password, boolean readOnly)
    创建或加载工作簿
    static org.apache.poi.ss.usermodel.Workbook
    创建或加载工作簿
    static org.apache.poi.ss.usermodel.Workbook
    createBook(InputStream in, String password)
    创建或加载工作簿
    static org.apache.poi.ss.usermodel.Workbook
    createBook(String excelFilePath)
    创建或加载工作簿
    static org.apache.poi.ss.usermodel.Workbook
    createBook(String excelFilePath, boolean readOnly)
    创建或加载工作簿
    static org.apache.poi.ss.usermodel.Workbook
    创建工作簿,用于Excel写出
    static org.apache.poi.xssf.streaming.SXSSFWorkbook
    创建SXSSFWorkbook,用于大批量数据写出
    static org.apache.poi.xssf.streaming.SXSSFWorkbook
    createSXSSFBook(int rowAccessWindowSize)
    创建SXSSFWorkbook,用于大批量数据写出
    static org.apache.poi.xssf.streaming.SXSSFWorkbook
    createSXSSFBook(int rowAccessWindowSize, boolean compressTmpFiles, boolean useSharedStringsTable)
    创建空的SXSSFWorkbook,用于大批量数据写出
    static org.apache.poi.xssf.streaming.SXSSFWorkbook
    createSXSSFBook(File excelFile)
    创建或加载SXSSFWorkbook工作簿
    static org.apache.poi.xssf.streaming.SXSSFWorkbook
    createSXSSFBook(File excelFile, boolean readOnly)
    创建或加载SXSSFWorkbook工作簿
    static org.apache.poi.xssf.streaming.SXSSFWorkbook
    createSXSSFBook(File excelFile, String password)
    创建或加载SXSSFWorkbook工作簿,只读模式
    static org.apache.poi.xssf.streaming.SXSSFWorkbook
    createSXSSFBook(File excelFile, String password, boolean readOnly)
    创建或加载SXSSFWorkbook工作簿
    static org.apache.poi.xssf.streaming.SXSSFWorkbook
    创建或加载SXSSFWorkbook工作簿
    static org.apache.poi.xssf.streaming.SXSSFWorkbook
    创建或加载SXSSFWorkbook工作簿
    static org.apache.poi.xssf.streaming.SXSSFWorkbook
    createSXSSFBook(String excelFilePath)
    创建或加载SXSSFWorkbook工作簿
    static org.apache.poi.xssf.streaming.SXSSFWorkbook
    createSXSSFBook(String excelFilePath, boolean readOnly)
    创建或加载SXSSFWorkbook工作簿
    static org.apache.poi.ss.usermodel.Sheet
    getOrCreateSheet(org.apache.poi.ss.usermodel.Workbook book, int sheetIndex)
    获取或者创建sheet表 自定义需要读取或写出的Sheet,如果给定的sheet不存在,创建之(命名为默认) 在读取中,此方法用于切换读取的sheet,在写出时,此方法用于新建或者切换sheet
    static org.apache.poi.ss.usermodel.Sheet
    getOrCreateSheet(org.apache.poi.ss.usermodel.Workbook book, String sheetName)
    获取或者创建sheet表 如果sheet表在Workbook中已经存在,则获取之,否则创建之
    static boolean
    isEmpty(org.apache.poi.ss.usermodel.Sheet sheet)
    sheet是否为空
    static void
    writeBook(org.apache.poi.ss.usermodel.Workbook book, OutputStream out)
    将Excel Workbook刷出到输出流,不关闭流

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • WorksKit

      public WorksKit()
  • Method Details

    • createBook

      public static org.apache.poi.ss.usermodel.Workbook createBook(String excelFilePath)
      创建或加载工作簿
      Parameters:
      excelFilePath - Excel文件路径,绝对路径或相对于ClassPath路径
      Returns:
      Workbook
    • createBook

      public static org.apache.poi.ss.usermodel.Workbook createBook(String excelFilePath, boolean readOnly)
      创建或加载工作簿
      Parameters:
      excelFilePath - Excel文件路径,绝对路径或相对于ClassPath路径
      readOnly - 是否只读模式打开,true:是(不可编辑),false:否(可编辑)
      Returns:
      Workbook
    • createBook

      public static org.apache.poi.ss.usermodel.Workbook createBook(File excelFile)
      创建或加载工作簿
      Parameters:
      excelFile - Excel文件
      Returns:
      Workbook
    • createBook

      public static org.apache.poi.ss.usermodel.Workbook createBook(File excelFile, boolean readOnly)
      创建或加载工作簿
      Parameters:
      excelFile - Excel文件
      readOnly - 是否只读模式打开,true:是(不可编辑),false:否(可编辑)
      Returns:
      Workbook
    • createBookForWriter

      public static org.apache.poi.ss.usermodel.Workbook createBookForWriter(File excelFile)
      创建工作簿,用于Excel写出
       1. excelFile为null时直接返回一个空的工作簿,默认xlsx格式
       2. 文件已存在则通过流的方式读取到这个工作簿
       3. 文件不存在则检查传入文件路径是否以xlsx为扩展名,是则创建xlsx工作簿,否则创建xls工作簿
       
      Parameters:
      excelFile - Excel文件
      Returns:
      Workbook
    • createBook

      public static org.apache.poi.ss.usermodel.Workbook createBook(boolean isXlsx)
      创建新的空白Excel工作簿
      Parameters:
      isXlsx - 是否为xlsx格式的Excel
      Returns:
      Workbook
    • createBook

      public static org.apache.poi.ss.usermodel.Workbook createBook(InputStream in)
      创建或加载工作簿
      Parameters:
      in - Excel输入流
      Returns:
      Workbook
    • createBook

      public static org.apache.poi.ss.usermodel.Workbook createBook(File excelFile, String password)
      创建或加载工作簿,只读模式
      Parameters:
      excelFile - Excel文件
      password - Excel工作簿密码,如果无密码传null
      Returns:
      Workbook
    • createBook

      public static org.apache.poi.ss.usermodel.Workbook createBook(InputStream in, String password)
      创建或加载工作簿
      Parameters:
      in - Excel输入流,使用完毕自动关闭流
      password - 密码
      Returns:
      Workbook
    • createBook

      public static org.apache.poi.ss.usermodel.Workbook createBook(File excelFile, String password, boolean readOnly)
      创建或加载工作簿
      Parameters:
      excelFile - Excel文件
      password - Excel工作簿密码,如果无密码传null
      readOnly - 是否只读模式打开,true:是(不可编辑),false:否(可编辑)
      Returns:
      Workbook
    • createSXSSFBook

      public static org.apache.poi.xssf.streaming.SXSSFWorkbook createSXSSFBook(String excelFilePath)
      创建或加载SXSSFWorkbook工作簿
      Parameters:
      excelFilePath - Excel文件路径,绝对路径或相对于ClassPath路径
      Returns:
      SXSSFWorkbook
    • createSXSSFBook

      public static org.apache.poi.xssf.streaming.SXSSFWorkbook createSXSSFBook(File excelFile)
      创建或加载SXSSFWorkbook工作簿
      Parameters:
      excelFile - Excel文件
      Returns:
      SXSSFWorkbook
    • createSXSSFBook

      public static org.apache.poi.xssf.streaming.SXSSFWorkbook createSXSSFBook(String excelFilePath, boolean readOnly)
      创建或加载SXSSFWorkbook工作簿
      Parameters:
      excelFilePath - Excel文件路径,绝对路径或相对于ClassPath路径
      readOnly - 是否只读模式打开,true:是(不可编辑),false:否(可编辑)
      Returns:
      SXSSFWorkbook
    • createSXSSFBook

      public static org.apache.poi.xssf.streaming.SXSSFWorkbook createSXSSFBook(File excelFile, boolean readOnly)
      创建或加载SXSSFWorkbook工作簿
      Parameters:
      excelFile - Excel文件
      readOnly - 是否只读模式打开,true:是(不可编辑),false:否(可编辑)
      Returns:
      SXSSFWorkbook
    • createSXSSFBook

      public static org.apache.poi.xssf.streaming.SXSSFWorkbook createSXSSFBook(File excelFile, String password)
      创建或加载SXSSFWorkbook工作簿,只读模式
      Parameters:
      excelFile - Excel文件
      password - Excel工作簿密码,如果无密码传null
      Returns:
      SXSSFWorkbook
    • createSXSSFBook

      public static org.apache.poi.xssf.streaming.SXSSFWorkbook createSXSSFBook(File excelFile, String password, boolean readOnly)
      创建或加载SXSSFWorkbook工作簿
      Parameters:
      excelFile - Excel文件
      password - Excel工作簿密码,如果无密码传null
      readOnly - 是否只读模式打开,true:是(不可编辑),false:否(可编辑)
      Returns:
      SXSSFWorkbook
    • createSXSSFBook

      public static org.apache.poi.xssf.streaming.SXSSFWorkbook createSXSSFBook(InputStream in)
      创建或加载SXSSFWorkbook工作簿
      Parameters:
      in - Excel输入流
      Returns:
      SXSSFWorkbook
    • createSXSSFBook

      public static org.apache.poi.xssf.streaming.SXSSFWorkbook createSXSSFBook(InputStream in, String password)
      创建或加载SXSSFWorkbook工作簿
      Parameters:
      in - Excel输入流
      password - 密码
      Returns:
      SXSSFWorkbook
    • createSXSSFBook

      public static org.apache.poi.xssf.streaming.SXSSFWorkbook createSXSSFBook()
      创建SXSSFWorkbook,用于大批量数据写出
      Returns:
      SXSSFWorkbook
    • createSXSSFBook

      public static org.apache.poi.xssf.streaming.SXSSFWorkbook createSXSSFBook(int rowAccessWindowSize)
      创建SXSSFWorkbook,用于大批量数据写出
      Parameters:
      rowAccessWindowSize - 在内存中的行数
      Returns:
      Workbook
    • createSXSSFBook

      public static org.apache.poi.xssf.streaming.SXSSFWorkbook createSXSSFBook(int rowAccessWindowSize, boolean compressTmpFiles, boolean useSharedStringsTable)
      创建空的SXSSFWorkbook,用于大批量数据写出
      Parameters:
      rowAccessWindowSize - 在内存中的行数,-1表示不限制,此时需要手动刷出
      compressTmpFiles - 是否使用Gzip压缩临时文件
      useSharedStringsTable - 是否使用共享字符串表,一般大量重复字符串时开启可节省内存
      Returns:
      SXSSFWorkbook
    • writeBook

      public static void writeBook(org.apache.poi.ss.usermodel.Workbook book, OutputStream out) throws org.aoju.bus.core.exception.InternalException
      将Excel Workbook刷出到输出流,不关闭流
      Parameters:
      book - Workbook
      out - 输出流
      Throws:
      org.aoju.bus.core.exception.InternalException - IO异常
    • getOrCreateSheet

      public static org.apache.poi.ss.usermodel.Sheet getOrCreateSheet(org.apache.poi.ss.usermodel.Workbook book, String sheetName)
      获取或者创建sheet表 如果sheet表在Workbook中已经存在,则获取之,否则创建之
      Parameters:
      book - 工作簿Workbook
      sheetName - 工作表名
      Returns:
      工作表Sheet
    • getOrCreateSheet

      public static org.apache.poi.ss.usermodel.Sheet getOrCreateSheet(org.apache.poi.ss.usermodel.Workbook book, int sheetIndex)
      获取或者创建sheet表 自定义需要读取或写出的Sheet,如果给定的sheet不存在,创建之(命名为默认) 在读取中,此方法用于切换读取的sheet,在写出时,此方法用于新建或者切换sheet
      Parameters:
      book - 工作簿Workbook
      sheetIndex - 工作表序号
      Returns:
      工作表Sheet
    • isEmpty

      public static boolean isEmpty(org.apache.poi.ss.usermodel.Sheet sheet)
      sheet是否为空
      Parameters:
      sheet - Sheet
      Returns:
      sheet是否为空