1. 程式人生 > >POI設定Excel單元格格式 (數值,日期,文字等等)

POI設定Excel單元格格式 (數值,日期,文字等等)

轉自:http://blog.csdn.net/liujimmy/article/details/6328298

HSSFWorkbook demoWorkBook = new HSSFWorkbook();   

 HSSFSheet demoSheet = demoWorkBook.createSheet("The World's 500 Enterprises");   

 HSSFCell cell = demoSheet.createRow(0).createCell(0);

1.設定單元格為文字格式

 HSSFCellStyle cellStyle2 = demoWorkBook.createCellStyle();

 HSSFDataFormat format = demoWorkBook.createDataFormat();

 cellStyle2.setDataFormat(format.getFormat("@"));

 cell.setCellStyle(cellStyle2);

第一種:日期格式

            cell.setCellValue(new Date(2008,5,5));

            //set date format

            HSSFCellStyle cellStyle = demoWorkBook.createCellStyle();

            HSSFDataFormat format= demoWorkBook.createDataFormat();

            cellStyle.setDataFormat(format.getFormat("yyyy年m月d日"));

            cell.setCellStyle(cellStyle);

第二種:保留兩位小數格式

            cell.setCellValue(1.2);

            HSSFCellStyle cellStyle = demoWorkBook.createCellStyle();

            cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("0.00"));

            cell.setCellStyle(cellStyle);

 //by gisoracle 設定四位小數

 HSSFDataFormat format = wb.createDataFormat();
 cellStyle.setDataFormat(format.getFormat("0.0000")); //  四位小數

 //by gisoracle 設定四位小數,千分位使用,

 HSSFDataFormat format = wb.createDataFormat();
 cellStyle.setDataFormat(format.getFormat("#,##0.0000")); //  四位小數


第三種:貨幣格式

            cell.setCellValue(20000);

            HSSFCellStyle cellStyle = demoWorkBook.createCellStyle();

            HSSFDataFormat format= demoWorkBook.createDataFormat();

            cellStyle.setDataFormat(format.getFormat("¥#,##0"));

            cell.setCellStyle(cellStyle);

第四種:百分比格式

            cell.setCellValue(20);

            HSSFCellStyle cellStyle = demoWorkBook.createCellStyle();

            cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("0.00%"));

            cell.setCellStyle(cellStyle);

  此種情況跟第二種一樣

第五種:中文大寫格式

            cell.setCellValue(20000);

            HSSFCellStyle cellStyle = demoWorkBook.createCellStyle();

            HSSFDataFormat format= demoWorkBook.createDataFormat();

            cellStyle.setDataFormat(format.getFormat("[DbNum2][$-804]0"));

            cell.setCellStyle(cellStyle);

第六種:科學計數法格式

            cell.setCellValue(20000);

            HSSFCellStyle cellStyle = demoWorkBook.createCellStyle();

            cellStyle.setDataFormat( HSSFDataFormat.getBuiltinFormat("0.00E+00"));

            cell.setCellStyle(cellStyle);