『壹』 poi處理Excel數據,cell的getStringCellValue()獲取的值為空,大俠幫幫忙
解決方法:可以在「poi」操作「Excel」時讀取單元格(Cell),單元格中有內容則可以讀取出單元格中的值了。
『貳』 java讀取excel時間格式出現數字怎麼處理
在Excel中的日期格式,比如2009-12-24將其轉化為數字格式時變成了40171,在用java處理的時候,讀取的也將是40171。如果使用POI處理Excel中的日期類型的單元格時,如果僅僅是判斷它是否為日期類型的話,最終會以NUMERIC類型來處理。
正確的處理方法是先判斷單元格的類型是否則NUMERIC類型,然後再判斷單元格是否為日期格式,如果是的話,創建一個日期格式,再將單元格的內容以這個日期格式顯示出來。如果單元格不是日期格式,那麼則直接得到NUMERIC的值就行了。
具體代碼如下:
主要是判斷NUMERIC 的時候 同事判斷下 單元格是不是日期格式 如果是 日期格式直接 轉成日期格式字元串返回值就ok了。
if(0==cell.getCellType()){ //判斷是否為日期類型 if(HSSFDateUtil.isCellDateFormatted(cell)){ //用於轉化為日期格式Dated=cell.getDateCellValue(); DateFormatformater=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss"); str[k]=formater.format(d);}else{ //用於格式化數字,只保留數字的整數部分 DecimalFormatdf=newDecimalFormat("########"); str[k]=df.format(cell.getNumericCellValue()); }
『叄』 java poi 去讀excel 怎麼讀取批註里內容
HSSFWorkbook wb = null;
POIFSFileSystem fs = null;
try {
fs = new POIFSFileSystem(new FileInputStream("e:\\workbook.xls"));
wb = new HSSFWorkbook(fs);
} catch (IOException e) {
e.printStackTrace();
}
HSSFSheet sheet = wb.getSheetAt(0);
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell(0);
String msg = cell.getStringCellValue();
System.out.println(msg);
『肆』 excel中日期格式是數字,想轉成java的日期格式,遇到了問題
java讀取excel時間格式出現數字的處理方法:
Excel存儲日期、時間均以數值類型進行存儲,讀取時POI先判斷是是否是數值類型,再進行判斷轉化
1、數值格式(CELL_TYPE_NUMERIC):
1.純數值格式:getNumericCellValue() 直接獲取數據
2.日期格式:處理yyyy-MM-dd, d/m/yyyy h:mm, HH:mm 等不含文字的日期格式
1).判斷是否是日期格式:HSSFDateUtil.isCellDateFormatted(cell)
2).判斷是日期或者時間
cell.getCellStyle().getDataFormat() == HSSFDataFormat.getBuiltinFormat("h:mm")
OR: cell.getCellStyle().getDataFormat() == HSSFDataFormat.getBuiltinFormat("yyyy-MM-dd")
3.自定義日期格式:處理yyyy年m月d日,h時mm分,yyyy年m月等含文字的日期格式
判斷cell.getCellStyle().getDataFormat()值,解析數值格式
yyyy年m月d日----->31
m月d日---->58
h時mm分--->32
舉例說明:
private String parseExcel(Cell cell) {
String result = new String();