HSSFDataFormat大全
poi 的HSSFDataFormat提供了兩個方法
getBuiltinFormat(java.lang.String format)
getBuiltinFormat(short index)
getBuiltinFormat(short index)是一個靜態(tài)函數(shù),返回一個字符串
getBuiltinFormat(java.lang.String format) 它返回一個short
然后你設(shè)置HSSFCellStyle.setDataFormat()就是要接收這個short
?
static java.util.List<java.lang.String> getBuiltinFormats()
這里存儲著poi內(nèi)置的所有dataformat。 只有g(shù)etBuiltinFormat傳入的參數(shù)在這個列表里,你才能得到它在列表里的位置。然后format數(shù)據(jù)的時候就根據(jù)這個位置找format。
?
General
0
0.00
#,##0
#,##0.00
$#,##0_);($#,##0)
$#,##0_);[Red]($#,##0)
$#,##0.00_);($#,##0.00)
$#,##0.00_);[Red]($#,##0.00)
0%
0.00%
0.00E+00
# ?/?
# ??/??
m/d/yy
d-mmm-yy
d-mmm
mmm-yy
h:mm AM/PM
h:mm:ss AM/PM
h:mm
h:mm:ss
m/d/yy h:mm
reserved-0x17
reserved-0x18
reserved-0x19
reserved-0x1a
reserved-0x1b
reserved-0x1c
reserved-0x1d
reserved-0x1e
reserved-0x1f
reserved-0x20
reserved-0x21
reserved-0x22
reserved-0x23
reserved-0x24
#,##0_);(#,##0)
#,##0_);[Red](#,##0)
#,##0.00_);(#,##0.00)
#,##0.00_);[Red](#,##0.00)
_(*#,##0_);_(*(#,##0);_(* "-"_);_(@_)
_($*#,##0_);_($*(#,##0);_($* "-"_);_(@_)
_(*#,##0.00_);_(*(#,##0.00);_(*"-"??_);_(@_)
_($*#,##0.00_);_($*(#,##0.00);_($*"-"??_);_(@_)
mm:ss
[h]:mm:ss
mm:ss.0
##0.0E+0
@
==================
http://javacrazyer.iteye.com/blog/894850
POI設(shè)置EXCEL單元格格式為文本、小數(shù)、百分比、貨幣、日期、科學計數(shù)法和中文大寫
- 博客分類:
- 各類文件操作/IO流
再讀本篇文章之前,請先看我的前一篇文章,前一篇文章中有重點講到POI設(shè)置EXCEL單元格格式為文本格式,剩下的設(shè)置小數(shù)、百分比、貨幣、日期、科學計數(shù)法和中文大寫這些將在下面一一寫出
以下將要介紹的每一種都會用到這三行中的變量
?
?? ? ? ? ? ?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);
?
第二種:保留兩位小數(shù)格式
?? ? ? ? ???cell.setCellValue(1.2);
?? ? ? ? ? ?HSSFCellStyle cellStyle = demoWorkBook.createCellStyle();
?? ? ? ? ? ?cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("0.00"));
?? ? ? ? ? ?cell.setCellStyle(cellStyle);
?
這里與上面有所不同,用的是HSSFDataFormat.getBuiltinFormat()方法,之所以用這個,是因為0.00是Excel內(nèi)嵌的格式,完整的Excel內(nèi)嵌格式列表大家可以看這個窗口中的自定義列表:
?這里就不一一列出了
?
第三種:貨幣格式
?
?? ? ? ? ? ?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);
?
第六種:科學計數(shù)法格式
?
?? ? ? ? ? ?cell.setCellValue(20000);
?? ? ? ? ? ?HSSFCellStyle cellStyle = demoWorkBook.createCellStyle();
?? ? ? ? ? ?cellStyle.setDataFormat( HSSFDataFormat.getBuiltinFormat("0.00E+00"));
?? ? ? ? ? ?cell.setCellStyle(cellStyle);
此種情況也與第二種情況一樣
?
總結(jié)
以上是生活随笔為你收集整理的HSSFDataFormat大全的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: POI详细教程
- 下一篇: POI对EXCEL的操作【重点:如何设置