日期:2014-05-20  浏览次数:20881 次

poi生成excel中显示null值如何改成不显示?
代码片段如下:

public  void WriteExcel(FileOutputStream fOut,ResultSet rs) throws SQLExceptionIOException{
XSSFWorkbook workbook = new XSSFWorkbook();
// FileOutputStream fOut = new FileOutputStream(".\\" + args[0]
// + "\\" + filename + ".xlsx");
XSSFSheet sheet = workbook.createSheet();
workbook.setSheetName(0, "sheet");
XSSFRow row = sheet.createRow((short) 0);
XSSFCell cell;

ResultSetMetaData md = rs.getMetaData();
int nColumn = md.getColumnCount();

for (int i = 1; i <= nColumn; i++) {
cell = row.createCell((short) (i - 1));
cell.setCellType(XSSFCell.CELL_TYPE_STRING);
cell.setCellValue(new XSSFRichTextString(md
.getColumnLabel(i)));
}
int iRow = 1;
while (rs.next()) {
row = sheet.createRow((short) iRow);
;
for (int j = 1; j <= nColumn; j++) {
cell = row.createCell((short) (j - 1));
cell.setCellType(XSSFCell.CELL_TYPE_STRING);
cell.setCellValue(new XSSFRichTextString(rs
.getObject(j) + ""));
}
iRow++;
}

workbook.write(fOut);
fOut.flush();
fOut.close();

}

原来数据库中有些地方是空的,生成的excel中这些地方显示的是"null",不太好看
怎么修改成如果是null值不要显示"null"在表格中?

------解决方案--------------------
 cell.setCellValue((new XSSFRichTextString(md
                    .getColumnLabel(i))==null)?"",new XSSFRichTextString(md
                    .getColumnLabel(i)));
图省事就这么写了