我有以下示例代码:
SXSSFWorkbook wb = new SXSSFWorkbook();
SXSSFSheet sheet = wb.createSheet("sheet");
SXSSFRow row = sheet.createRow(0);
SXSSFCell cell = row.createCell(0);
cell.setCellValue("value");
XSSFCellStyle cellStyle = (XSSFCellStyle) wb.createCellStyle();
DataFormat fmt = wb.createDataFormat();
cellStyle.setDataFormat(fmt.getFormat("@"));
sheet.setDefaultColumnStyle(0, cellStyle);
FileOutputStream out;
try {
out = new FileOutputStream("filename.xlsx");
try {
wb.write(out);
out.close();
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
它成功创建了一个excel文件并将值“value”放入其中(第A列,第1行)。 我想将列A的列样式设置为“@”(= Text),这样做效果非常好,但不适用于已存在值“value”的单元格。 A列中的所有其他空单元格成功设置为样式“@”。 我必须使用SXSSFWorkbook,因为我正在创建巨大的excel文件。
答案 0 :(得分:1)
为什么不在插入值之前设置单元格样式?