1. 程式人生 > >NPOI設定格式文字、小數、百分比、貨幣、日期、科學計數法和中文大寫

NPOI設定格式文字、小數、百分比、貨幣、日期、科學計數法和中文大寫

      HSSFWorkbook demoWorkBook = new HSSFWorkbook();   
            HSSFSheet demoSheet = demoWorkBook.createSheet("The World's 500 Enterprises");   
            HSSFCell cell = demoSheet.createRow(0).createCell(0);

第一種:日期格式

            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); 這裡與上面有所不同,用的是HSSFDataFormat.getBuiltinFormat()方法,之所以用這個,是因為0.00是Excel內嵌的格式,完整的Excel內嵌格式列表大家可以看這個視窗中的自定義列表: HSSFDataFormat format = (HSSFDataFormat)workbook.CreateDataFormat(); style7.DataFormat
= format.GetFormat("#,##0.00");//千分位,保留兩位小數 這裡就不一一列出了 第三種:貨幣格式 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);