Uses of Class
org.miaixz.bus.office.excel.writer.ExcelWriter
Packages that use ExcelWriter
Package
Description
数据读取接口及实现,此包中定义了SheetReader,通过实现此接口,实现sheet中的数据读取为不同类型。
Excel生成封装
Excel 操作工具类
-
Uses of ExcelWriter in org.miaixz.bus.office.excel.reader
Methods in org.miaixz.bus.office.excel.reader that return ExcelWriterModifier and TypeMethodDescriptionExcelReader.getWriter()获取Excel写出器 在读取Excel并做一定编辑后,获取写出器写出,规则如下: 1. -
Uses of ExcelWriter in org.miaixz.bus.office.excel.writer
Subclasses of ExcelWriter in org.miaixz.bus.office.excel.writerModifier and TypeClassDescriptionclass大数据量Excel写出,只支持XLSX(Excel07版本) 通过封装SXSSFWorkbook,限制对滑动窗口中的行的访问来实现其低内存使用。Methods in org.miaixz.bus.office.excel.writer that return ExcelWriterModifier and TypeMethodDescriptionExcelWriter.addIgnoredErrors(org.apache.poi.ss.util.CellRangeAddress cellRangeAddress, org.apache.poi.ss.usermodel.IgnoredErrorType... ignoredErrorTypes) 设置忽略错误,即Excel中的绿色警告小标,只支持XSSFSheet和SXSSFSheet 见:https://stackoverflow.com/questions/23488221/how-to-remove-warning-in-excel-using-apache-poi-in-java增加下拉列表增加下拉列表ExcelWriter.addValidationData(org.apache.poi.ss.usermodel.DataValidation dataValidation) 增加单元格控制,比如下拉列表、日期验证、数字范围验证等ExcelWriter.autoSizeColumn(int columnIndex, boolean useMergedCells, float widthRatio) 设置某列为自动宽度。ExcelWriter.autoSizeColumnAll(boolean useMergedCells, float widthRatio) 设置所有列为自动宽度,不考虑合并单元格 此方法必须在指定列数据完全写出后调用才有效。ExcelWriter.disableDefaultStyle()禁用默认样式填充非列表模板变量(一次性变量)BigExcelWriter.flush(OutputStream out, boolean isCloseOut) ExcelWriter.flush()将Excel Workbook刷出到预定义的文件 如果用户未自定义输出的文件,将抛出NullPointerException预定义文件可以通过setTargetFile(File)方法预定义,或者通过构造定义ExcelWriter.flush(boolean override) 将Excel Workbook刷出到预定义的文件 如果用户未自定义输出的文件,将抛出NullPointerException预定义文件可以通过setTargetFile(File)方法预定义,或者通过构造定义将Excel Workbook刷出到文件 如果用户未自定义输出的文件,将抛出NullPointerExceptionExcelWriter.flush(OutputStream out) 将Excel Workbook刷出到输出流ExcelWriter.flush(OutputStream out, boolean isCloseOut) 将Excel Workbook刷出到输出流ExcelWriter.merge(int lastColumn) 合并当前行的单元格合并当前行的单元格,并写入对象到单元格 如果写到单元格中的内容非null,行号自动+1,否则当前行号不变合并某行的单元格,并写入对象到单元格 如果写到单元格中的内容非null,行号自动+1,否则当前行号不变ExcelWriter.merge(org.apache.poi.ss.util.CellRangeAddress cellRangeAddress, Object content, boolean isSetHeaderStyle) 合并某行的单元格,并写入对象到单元格ExcelWriter.merge(org.apache.poi.ss.util.CellRangeAddress cellRangeAddress, Object content, org.apache.poi.ss.usermodel.CellStyle cellStyle) 合并单元格,并写入对象到单元格,使用指定的样式 指定样式传入null,则不使用任何样式ExcelWriter.passCurrentRow()跳过当前行ExcelWriter.passRows(int rowNum) 跳过指定行数ExcelWriter.renameSheet(int sheet, String sheetName) 重命名sheetExcelWriter.renameSheet(String sheetName) 重命名当前sheetExcelWriter.reset()重置Writer,包括:ExcelWriter.resetRow()重置当前行为0ExcelWriter.setColumnStyle(int x, org.apache.poi.ss.usermodel.CellStyle style) 设置列的默认样式ExcelWriter.setColumnStyleIfHasData(int x, int y, org.apache.poi.ss.usermodel.CellStyle style) 设置整个列的样式 仅对数据单元格设置 write后调用setColumnStyle(int, org.apache.poi.ss.usermodel.CellStyle)这个方法加的样式会使整列没有数据的单元格也有样式 特别是加背景色时很不美观 且有数据的单元格样式会被StyleSet中的样式覆盖掉ExcelWriter.setColumnWidth(int columnIndex, int width) 设置列宽(单位为一个字符的宽度,例如传入width为10,表示10个字符的宽度)ExcelWriter.setConfig(ExcelWriteConfig config) ExcelWriter.setCurrentRow(int rowIndex) 设置当前所在行ExcelWriter.setCurrentRowToEnd()定位到最后一行的后边,用于追加数据ExcelWriter.setDefaultRowHeight(int height) 设置默认行高,值为一个点的高度ExcelWriter.setFreezePane(int rowSplit) 设置窗口冻结,之前冻结的窗口会被覆盖,如果rowSplit为0表示取消冻结ExcelWriter.setFreezePane(int colSplit, int rowSplit) 设置窗口冻结,之前冻结的窗口会被覆盖,如果colSplit和rowSplit为0表示取消冻结ExcelWriter.setHeaderOrFooter(String text, org.miaixz.bus.core.lang.EnumValue.Align align, boolean isFooter) 设置Excel页眉或页脚ExcelWriter.setRowHeight(int rowNum, int height) 设置行高,值为一个点的高度ExcelWriter.setRowStyle(int y, org.apache.poi.ss.usermodel.CellStyle style) 设置行样式ExcelWriter.setRowStyleIfHasData(int y, org.apache.poi.ss.usermodel.CellStyle style) 对数据行整行加自定义样式 仅对数据单元格设置 write后调用setRowStyle(int, org.apache.poi.ss.usermodel.CellStyle)这个方法加的样式会使整行没有数据的单元格也有样式 特别是加背景色时很不美观 且有数据的单元格样式会被StyleSet中的样式覆盖掉ExcelWriter.setSheet(int sheetIndex) ExcelWriter.setStyle(org.apache.poi.ss.usermodel.CellStyle style, int x, int y) 设置某个单元格的样式 此方法用于多个单元格共享样式的情况 可以调用ExcelBase.getOrCreateCellStyle(int, int)方法创建或取得一个样式对象。设置某个单元格的样式 此方法用于多个单元格共享样式的情况 可以调用ExcelBase.getOrCreateCellStyle(int, int)方法创建或取得一个样式对象。ExcelWriter.setStyleSet(StyleSet styleSet) 设置样式集,如果不使用样式,传入nullExcelWriter.setTargetFile(File targetFile) 设置写出的目标文件 注意这个文件不能存在,存在则flush()时会被覆盖写出数据,本方法只是将数据写入Workbook中的Sheet,并不写出到文件 写出的起始行为当前行号,可使用getCurrentRow()方法调用,根据写出的的行数,当前行号自动增加 默认的,当当前行号为0时,写出标题(如果为Map或Bean),否则不写标题写出数据,本方法只是将数据写入Workbook中的Sheet,并不写出到文件 写出的起始行为当前行号,可使用getCurrentRow()方法调用,根据写出的的行数,当前行号自动增加ExcelWriter.write(Iterable<?> data, Comparator<String> comparator) 写出数据,本方法只是将数据写入Workbook中的Sheet,并不写出到文件 写出的起始行为当前行号,可使用getCurrentRow()方法调用,根据写出的的行数,当前行号自动增加 data中元素支持的类型有:ExcelWriter.writeCellValue(int x, int y, Object value) 给指定单元格赋值,使用默认单元格样式ExcelWriter.writeCellValue(int x, int y, Object value, boolean isHeader) 给指定单元格赋值,使用默认单元格样式ExcelWriter.writeCellValue(String locationRef, Object value) 给指定单元格赋值,使用默认单元格样式为第指定列写入数据 本方法只是将数据写入Workbook中的Sheet,并不写出到文件 写出的起始行为当前行号,可使用getCurrentRow()方法调用,根据写出的的行数,当前行号自动+1为第一列写入数据 本方法只是将数据写入Workbook中的Sheet,并不写出到文件 写出的起始行为当前行号,可使用getCurrentRow()方法调用,根据写出的的行数,当前行号自动+1从第1列开始按列写入数据(index 从0开始) 本方法只是将数据写入Workbook中的Sheet,并不写出到文件 写出的起始行为当前行号,可使用getCurrentRow()方法调用,根据写出的的行数,当前行号自动+1ExcelWriter.writeCol(Map<?, ? extends Iterable<?>> colMap, int startColIndex, boolean isWriteKeyAsHead) 从指定列开始按列写入数据(index 从0开始) 本方法只是将数据写入Workbook中的Sheet,并不写出到文件 写出的起始行为当前行号,可使用getCurrentRow()方法调用,根据写出的的行数,当前行号自动+1ExcelWriter.writeHeader(int x, int y, int rowCount, RowGroup rowGroup) 写出分组标题行ExcelWriter.writeHeader(RowGroup rowGroup) 写出分组标题行ExcelWriter.writeHeaderRow(Iterable<?> rowData) 写出一行标题数据 本方法只是将数据写入Workbook中的Sheet,并不写出到文件 写出的起始行为当前行号,可使用getCurrentRow()方法调用,根据写出的的行数,当前行号自动+1ExcelWriter.writeImg(byte[] pictureData, ExcelPictureType imgType, SimpleAnchor clientAnchor) 写出数据,本方法只是将数据写入Workbook中的Sheet,并不写出到文件 添加图片到当前sheet中写出数据,本方法只是将数据写入Workbook中的Sheet,并不写出到文件 添加图片到当前sheet中 / 默认图片类型png / 默认的起始坐标和结束坐标都为0ExcelWriter.writeImg(File imgFile, ExcelPictureType imgType, SimpleAnchor clientAnchor) 写出数据,本方法只是将数据写入Workbook中的Sheet,并不写出到文件 添加图片到当前sheet中ExcelWriter.writeImg(File imgFile, SimpleAnchor clientAnchor) 写出数据,本方法只是将数据写入Workbook中的Sheet,并不写出到文件 添加图片到当前sheet中 / 默认图片类型pngExcelWriter.writeLineShape(SimpleAnchor clientAnchor) 绘制线条ExcelWriter.writeLineShape(SimpleAnchor clientAnchor, LineStyle lineStyle, int lineWidth, Color lineColor) 绘制线条写出一行数据 本方法只是将数据写入Workbook中的Sheet,并不写出到文件 写出的起始行为当前行号,可使用getCurrentRow()方法调用,根据写出的的行数,当前行号自动+1写出一行,根据rowBean数据类型不同,写出情况如下:ExcelWriter.writeSimpleShape(SimpleAnchor clientAnchor, ShapeConfig shapeConfig) 绘制简单形状 -
Uses of ExcelWriter in org.miaixz.bus.office.excel.xyz
Methods in org.miaixz.bus.office.excel.xyz that return ExcelWriterModifier and TypeMethodDescriptionstatic ExcelWriterExcelKit.getWriter()获得ExcelWriter,默认写出到第一个sheet 不传入写出的Excel文件路径,只能调用ExcelWriter#flush(OutputStream)方法写出到流 若写出到文件,还需调用setTargetFile(File)方法自定义写出的文件,然后调用flush()方法写出到文件static ExcelWriterExcelKit.getWriter(boolean isXlsx) 获得ExcelWriter,默认写出到第一个sheet 不传入写出的Excel文件路径,只能调用ExcelWriter#flush(OutputStream)方法写出到流 若写出到文件,还需调用setTargetFile(File)方法自定义写出的文件,然后调用flush()方法写出到文件static ExcelWriter获得ExcelWriter,默认写出到第一个sheet,名字为sheet1static ExcelWriterstatic ExcelWriter获得ExcelWriter,默认写出到第一个sheetstatic ExcelWriterstatic ExcelWriterExcelKit.getWriterWithSheet(String sheetName) 获得ExcelWriter,默认写出到第一个sheet