时点花名册功能完成
parent
c050bdb59e
commit
78e602f3d0
@ -0,0 +1,72 @@
|
|||||||
|
package com.engine.jclproduct.utils;
|
||||||
|
|
||||||
|
import org.apache.poi.ss.usermodel.CellType;
|
||||||
|
import org.apache.poi.ss.usermodel.FillPatternType;
|
||||||
|
import org.apache.poi.ss.usermodel.HorizontalAlignment;
|
||||||
|
import org.apache.poi.ss.usermodel.IndexedColors;
|
||||||
|
import org.apache.poi.xssf.usermodel.*;
|
||||||
|
import java.util.List;
|
||||||
|
/**
|
||||||
|
* @Author liang.cheng
|
||||||
|
* @Date 2024/11/1 4:56 PM
|
||||||
|
* @Description:
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
public class ExcelUtil {
|
||||||
|
|
||||||
|
public static XSSFWorkbook genWorkbookV2(List<List<Object>> rowList, String sheetName) {
|
||||||
|
XSSFWorkbook workbook = new XSSFWorkbook();
|
||||||
|
|
||||||
|
// 设置title样式
|
||||||
|
XSSFCellStyle titleCellStyle = workbook.createCellStyle();
|
||||||
|
XSSFFont titleFont = workbook.createFont();
|
||||||
|
titleFont.setFontName("仿宋");
|
||||||
|
titleFont.setFontHeightInPoints((short) 15);
|
||||||
|
titleCellStyle.setFont(titleFont);
|
||||||
|
titleCellStyle.setAlignment(HorizontalAlignment.CENTER);
|
||||||
|
titleCellStyle.setFillForegroundColor(IndexedColors.WHITE.getIndex());//背景色
|
||||||
|
titleCellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
|
||||||
|
|
||||||
|
|
||||||
|
// 设置主体样式
|
||||||
|
XSSFCellStyle cellStyle = workbook.createCellStyle();
|
||||||
|
XSSFFont font = workbook.createFont();
|
||||||
|
font.setFontName("宋体");
|
||||||
|
font.setFontHeightInPoints((short) 10);// 设置字体大小
|
||||||
|
cellStyle.setFont(font);// 选择需要用到的字体格式
|
||||||
|
cellStyle.setWrapText(true);
|
||||||
|
|
||||||
|
XSSFSheet sheet = workbook.createSheet(sheetName);
|
||||||
|
//自适应宽度
|
||||||
|
sheet.autoSizeColumn(0, true);
|
||||||
|
//默认列宽
|
||||||
|
sheet.setDefaultColumnWidth(25);
|
||||||
|
//默认行高
|
||||||
|
sheet.setDefaultRowHeightInPoints(18);
|
||||||
|
|
||||||
|
for (int rowIndex = 0; rowIndex < rowList.size(); rowIndex++) {
|
||||||
|
List<Object> infoList = rowList.get(rowIndex);
|
||||||
|
XSSFRow row = sheet.createRow(rowIndex);
|
||||||
|
for (int cellIndex = 0; cellIndex < infoList.size(); cellIndex++) {
|
||||||
|
XSSFCell cell = row.createCell(cellIndex);
|
||||||
|
if (rowIndex == 0) {
|
||||||
|
cell.setCellStyle(titleCellStyle);
|
||||||
|
} else {
|
||||||
|
cell.setCellStyle(cellStyle);
|
||||||
|
}
|
||||||
|
Object o = infoList.get(cellIndex);
|
||||||
|
if (o instanceof String) {
|
||||||
|
cell.setCellType(CellType.STRING);
|
||||||
|
cell.setCellValue(String.valueOf(o));
|
||||||
|
} else if (o instanceof Boolean) {
|
||||||
|
cell.setCellType(CellType.BOOLEAN);
|
||||||
|
cell.setCellValue(String.valueOf(o));
|
||||||
|
} else {
|
||||||
|
cell.setCellType(CellType.STRING);
|
||||||
|
cell.setCellValue(o == null ? "" : o.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return workbook;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue