XSSFSheet
(Javadoc XSSFSheet) 의 메소드는 addIgnoredErrors(...)
입니다. SXSSFSheet
(Javadoc SXSSFSheet)에는이 방법이 없습니다.Apache POI : SXSSFSheet에서 addIgnoredErrors (...) 기능을 사용하는 방법
SXSSFSheet
기반 시트의 오류를 어떻게 무시할 수 있습니까?
내가 105,000 행을 가지고 있고 XSSFSheet
이 메모리를 날려 버리므로 XSSFSheet
을 사용할 수 없습니다.
숫자로만 구성된 텍스트 필드를 표에 넣었습니다. Shitty Excel은이 셀에 대해 경고 Number stored as text
을 표시합니다. CellType
을 STRING
으로 설정하고 텍스트 형식을 "@"
으로 설정해도 순서는 상관 없습니다.
최소 실행 가능한 데모 :
public void run() {
try {
final SXSSFWorkbook workbook = new SXSSFWorkbook(-1);
final DataFormat dataFormat = workbook.createDataFormat();
CellStyle styleDef;
styleDef = workbook.createCellStyle();
styleDef.setDataFormat(dataFormat.getFormat("@"));
final SXSSFSheet sheet = workbook.createSheet();
final SXSSFRow row = sheet.createRow(0);
final SXSSFCell cell = row.createCell(0);
final String text = "123";
cell.setCellType(CellType.STRING);
cell.setCellValue(text);
cell.setCellStyle(styleDef);
workbook.write(new FileOutputStream("test.xlsx"));
workbook.close();
// Hint from Axel Richter, to make it a full working example
workbook.dispose();
} catch (final Exception e) {
e.printStackTrace();
}
}