① java導出excel時的日期和時間問題
提問雖然已經過去很長時間了,但是這個問題很普遍。我來補充一下,希望大家能看到吧、、
給導出時間格式的欄位增加一個css樣式:mso-number-format:'\@' 即可('\@'是格式化為文本方式)。
例:<td style="mso-number-format:'\@';"><%=myDateTime %></td>
② Java解析excel 處理日期格式 有 yyyymmdd yyyy-mm-dd yyyy.mm,dd yyyy mm dd 等要處理格式化讓他們統一成
如果源文件中是Date類型,就是當java.util.Date接收
~~~~~~~~
③ java讀取excel裡面的時間格式是5月17日,但是讀取出來以後列印的結果是41411
建議你把日期格式更換一下,比如你的日期是在A1,則在B1輸入=text(a1,"m月d日"),然後再讓java讀取的單元格為B1即可
要麼你也可以直接在日期處這樣輸入=TEXT(DATE(2013,5,17),"m月d日")
④ 為什麼java導出excel 日期格式不顯示時分秒
將excel日期單元格那一列設置為文本,然後日期格式化為string導出
或者 將日期單元格那一列的日期格式設置為yyyy-MM-dd HH:mm:ss
⑤ 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中從excel表格讀入手寫的格式為2013/2/14 11:12:31這樣格式的時間格式不對
try {
Date dateCellValue = cell.getDateCellValue();
if (dateCellValue != null) {
data = KqDateUtil.getStrDate(dateCellValue, pattern);
}
} catch (Exception e2) {
}
pattern為你想要的時間格式
⑦ 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();
⑧ java導出excel日期怎麼格式化
Dated=cell.getDateCellValue();
DateFormatformater=newSimpleDateFormat("yyyy-MM-dd");
⑨ Java 出力Excel 文件,並向該文件中寫固定格式的日期。我往文件里寫的是yyyy-mm-dd
你寫入的yyyy-mm-dd而顯示yyyy/mm/dd這是正常的,表示EXCEL理解了你寫入的數據是日期格式,顯示的時候由於沒有指定單元格的格式,所以系統以默認的yyyy/mm/dd格式顯示,這個其實沒關系。
如果你特別希望顯示為yyyy-mm-dd格式,可以寫入內容前增加一個單引號(半形英文),這樣強制告訴EXCEL這是個文本,不要理解為日期。
還有一個辦法,就是JAVA裡面寫入數據完畢,設置單元格的格式為yyyy-mm-dd,通過設置.NumberFormat 屬性為 "yyyy-mm-dd"實現。
⑩ java導入excel時怎麼處理日期格式
在Excel中的日期格式,比如2009-12-24將其轉化為數字格式時變成了40171,在用java處理的時候,讀取的也將是40171。
如果使用POI處理Excel中的日期類型的單元格時,如果僅僅是判斷它是否為日期類型的話,最終會以NUMERIC類型來處理。正確的處理方法是先判斷單元格的類型是否則NUMERIC類型,然後再判斷單元格是否為日期格式,如果是的話,
創建一個日期格式,再將單元格的內容以這個日期格式顯示出來。如果單元格不是日期格式,那麼則直接得到NUMERIC的值就行了。具體代碼如下:
if (0 == cell.getCellType()) {
//判斷是否為日期類型
if(HSSFDateUtil.isCellDateFormatted(cell)){
//用於轉化為日期格式
Date d = cell.getDateCellValue();
DateFormat formater = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
str[k] = formater.format(d);
}else{
// 用於格式化數字,只保留數字的整數部分
DecimalFormat df = new DecimalFormat("########");
str[k] = df.format(cell.getNumericCellValue());
}