poi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// 这里定义的row的长度,超过这个长度导出异常
Workbook workbook = new SXSSFWorkbook(500);

import org.apache.poi.ss.usermodel.Sheet;
Sheet sheet = workbook.createSheet(sheetName);

// SXSSFWorkbook的SXSSFSheet没有实现合并单元格
// 此处为poi源码
@NotImplemented
@Override
public void shiftRows(int startRow, int endRow, int n)
{
throw new RuntimeException("NotImplemented");
}

// 现改为
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.getSheetAt(0);

样式定义

1
2
3
4
5
6
7
8
9
10
11
12
// 边框
CellStyle defStyle = workbook.createCellStyle();
defStyle.setBorderTop(BorderStyle.THIN);
defStyle.setBorderLeft(BorderStyle.THIN);
defStyle.setBorderBottom(BorderStyle.THIN);
defStyle.setBorderRight(BorderStyle.THIN);
// 顶端对齐
CellStyle topStyle = workbook.createCellStyle();
// clone默认样式
topStyle.cloneStyleFrom(defStyle);
// 设置新的样式
topStyle.setVerticalAlignment(VerticalAlignment.TOP);