/**
* 导出excel文件
*/
public static void outFile(Workbook wb, String path) {
try {
FileOutputStream fos = new FileOutputStream(path);
wb.write(fos);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 根据行对列赋值
*/
public static void createRowAndCell(XSSFRow row, Integer cellNum, Object value) {
XSSFCell cell = row.createCell(cellNum);
if (value instanceof String) {
cell.setCellValue(String.valueOf(value));
}
if (value instanceof Boolean) {
cell.setCellValue((Boolean) value);
}
if (value instanceof Double || value instanceof Integer) {
cell.setCellValue(Double.parseDouble(value.toString()));
}
}
/**
* 根据行队列赋值,顺便合并单元格
*/
public static void createRowAndCell(XSSFSheet sheet, XSSFRow row, Integer cellNum, String value, Integer... array) {
createRowAndCell(row, cellNum, value);
mergedCell(sheet, array);
}
/**
* 根据行队列赋值,顺便合并单元格
*/
public static void createRowAndCell(boolean flag, XSSFSheet sheet, XSSFRow row, Integer cellNum, String value, Integer... array) {
createRowAndCell(row, cellNum, value);
mergedCell(flag, sheet, array);
}
/**
* 合并行
*/
public static void mergedCell(XSSFSheet sheet, Integer... array) {
mergedCell(false, sheet, array);
}
/**
* 合并行并添加样式
*/
public static void mergedCell(boolean flag, XSSFSheet sheet, Integer... array) {
CellRangeAddress rangeAddress = new CellRangeAddress(array[0], array[1], array[2], array[3]);
sheet.addMergedRegion(rangeAddress);
if (flag) {
addMergedBorder(sheet, rangeAddress);
}
}
/**
* 为合并的单元格添加边框
*/
public static void addMergedBorder(XSSFSheet sheet, CellRangeAddress rangeAddress) {
RegionUtil.setBorderBottom(BorderStyle.THIN, rangeAddress, sheet);
RegionUtil.setBorderLeft(BorderStyle.THIN, rangeAddress, sheet);
RegionUtil.setBorderRight(BorderStyle.THIN, rangeAddress, sheet);
RegionUtil.setBorderTop(BorderStyle.THIN, rangeAddress, sheet);
}
/**
* 添加边框
*/
public static void addBorder(XSSFWorkbook wb, XSSFCell cell) {
XSSFCellStyle cellStyle = wb.createCellStyle();
XSSFFont font = wb.createFont();
font.setFontName("微软雅黑");
font.setFontHeightInPoints((short) 14);
cellStyle.setBorderTop(BorderStyle.THIN);
cellStyle.setBorderLeft(BorderStyle.THIN);
cellStyle.setBorderRight(BorderStyle.THIN);
cellStyle.setBorderBottom(BorderStyle.THIN);
cellStyle.setAlignment(HorizontalAlignment.CENTER_SELECTION);
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); //垂直居中
cellStyle.setFont(font);
cell.setCellStyle(cellStyle);
}
java poi excel 工具类
最新推荐文章于 2024-07-28 09:45:40 发布