目前,我正在努力将DataFormat设置为特定的行。
这就是我的Excel工作表的外观。我有这4列。第1列应采用DataFormat编号,第2列和第3列应采用DataFormat日期,第4列可以

public static void createTableRow(Sheet sheet, List<String> EDIROWKeys, int col, CellStyle style , int lastRowNum){
if(sheet == null){
return;
}
int lastRow = lastRowNum;
int newRow = lastRow + 1;
Workbook wb = sheet.getWorkbook();
SimpleDateFormat format = new SimpleDateFormat();
CreationHelper helper = wb.getCreationHelper();
org.apache.poi.ss.usermodel.DataFormat date = wb.createDataFormat();
XSSFRow row = (XSSFRow) sheet.createRow(newRow);
if(row == null){
return;
}
int startCol = col;
for(String string : EDIROWKeys){
XSSFCell cell = row.createCell(startCol);
FOe.getFOPSessionContext().getDbContext().out().println(string);
if(style != null){
cell.setCellStyle(style);
}else {
XSSFWorkbook wbx = (XSSFWorkbook) sheet.getWorkbook();
XSSFDataFormat dataformat = wbx.createDataFormat();
XSSFCellStyle cs = wbx.createCellStyle();
if(startCol == 1){
cs.setDataFormat(dataformat.getFormat("#"));
}
cell.setCellStyle(cs);
}
cell.setCellValue(string);
startCol++;
}
return;
} 这是我用来创建我的行和列的方法,这是我获得DataFormats的资源。我也尝试过将这些带有HssfDataformat的DataFormats应用到我的手机上--也没有成功。
我推荐任何有用的输入:)
使用setCellValue(Double)解决;...
if(string.matches("\\d+")){
cell.setCellValue(Double.valueOf(string));
startCol++;
continue;
}发布于 2020-07-08 15:33:20
我看到了一个可能的例子。如果方法参数style为空,则新样式XSSFCellStyle cs不会应用于单元格。cell.setCellStyle(cs)不见了吗?
https://stackoverflow.com/questions/62789362
复制相似问题