[英]XSSF Apache POI
我使用以下設置 XSSF 工作表中的默認列樣式? 但這不起作用任何人都可以建議錯誤修復。
format = workbook.createDataFormat();
style = workbook.createCellStyle();
style.setDataFormat(format.getFormat("@"));
sheet.setDefaultColumnStyle(1, style);
從 POI 4.1.0 開始,它與 SXSSF 一起工作,但有一個警告。 默認列樣式僅定義當用戶將數據輸入到 POI 創建的工作表中的空單元格時將應用哪種樣式。 如果您通過 POI 創建單元格並輸入數據,則默認格式不適用,您必須使用setCellStyle(CellStyle)
。
例如,對於文本 styles:
private CellStyle createTextFormat(SXSSFWorkbook workbook) {
DataFormat fmt = workbook.createDataFormat();
CellStyle textStyle = workbook.createCellStyle();
textStyle.setDataFormat(fmt.getFormat("@"));
return textStyle;
}
// then do both:
int columnIndex = 0;
sheet.setDefaultColumnStyle(columnIndex, textFormat)
SXSSFCell cell = row.createCell(0);
cell.setCellStyle(textFormat);
cell.setCellValue("0100");
可能這個錯誤讓你頭疼。 使用 Apache POI 3.7 嘗試您的代碼,我得到的附加效果是第二列被隱藏(寬度 = 0)並且格式未應用。
干杯,維姆
PS 請注意,我談論的是第二列,這是您的代碼真正指的是什么; 如果您想將樣式應用於第一列,您應該使用 0(從零開始)。
試試這個它會起作用:
style.setDataFormat(HSSFDataFormat.getBuiltinFormat("@"));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.