第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 apache poi 輸入時間

使用 apache poi 輸入時間

藍(lán)山帝景 2021-09-29 17:23:54
我已經(jīng)使用 Apahe POI 將時間輸入到 excel 文件中,如下所示Time time = Time.valueOf("19:30:00");CellStyle cellStyle1 = workbook.createCellStyle();CreationHelper createHelper1 = workbook.getCreationHelper();cellStyle1.setDataFormat(        createHelper.createDataFormat().getFormat("HH:MM AM/PM"));cell = row.getCell(1);System.out.println(time.toString());cell.setCellValue(time);cell.setCellStyle(cellStyle1);這導(dǎo)致了預(yù)期的 excel 但是有以下不匹配發(fā)現(xiàn) excel 的實際值和顯示值不同 - 我怎樣才能使它們相同,我是否使用不正確的方式更新 Excel 時間格式的值
查看完整描述

2 回答

?
慕容森

TA貢獻(xiàn)1853條經(jīng)驗 獲得超18個贊

Excel 中,日期和時間存儲為浮點數(shù),即自01/01/1900午夜以來的天數(shù)。

如果您將存儲一些小于1.0- 的值,它將被解釋為時間,否則為日期,例如:

  1. 0.5 將等于 12:00:00

  2. 5.5 將等于 05.01.1900  12:00:00

要正確處理日期和時間,請使用org.apache.poi.ss.usermodel.DateUtil,例如您的示例可能如下所示:

    double time = DateUtil.convertTime("19:30:00");

    CellStyle cellStyle = workbook.createCellStyle();

    cellStyle.setDataFormat(

            workbook.createDataFormat().getFormat("HH:MM AM/PM"));

    cell.setCellValue(time);

    cell.setCellStyle(cellStyle);

結(jié)果Excel將如下所示:

http://img1.sycdn.imooc.com//615430d40001feb204590138.jpg

假設(shè)問題與上述內(nèi)容有關(guān),Excel 中的實際日期/時間值應(yīng)為雙精度值,而表示值應(yīng)基于您設(shè)置的樣式/模式;假設(shè)目標(biāo)是實現(xiàn)這種相似性,即19:30:00在公式和07:30 PM單元格中。

如果沒有并且目標(biāo)是07:30 PM在兩種情況下都有 - 那么您只需要存儲一個字符串值,而不是日期/時間。


查看完整回答
反對 回復(fù) 2021-09-29
?
慕標(biāo)琳琳

TA貢獻(xiàn)1830條經(jīng)驗 獲得超9個贊

我使用來自 Office 365 ProPlus 的 POI 3.17 和 Excel 和瑞典語語言環(huán)境。我在您的代碼中添加了幾行(用于創(chuàng)建工作簿和工作表等)。下面的代碼工作正常。在單元格中我得到“07:30 PM”和在公式欄中“1970-01-01 19:30:00”。如果在運(yùn)行我的代碼(使用 POI 3.17)時沒有得到類似的結(jié)果,我的猜測是您的 Excel 有點奇怪。


public void createExcelFile() {

    XSSFWorkbook workbook = new XSSFWorkbook();

    Time time = Time.valueOf("19:30:00");

    CellStyle cellStyle1 = workbook.createCellStyle();

    CreationHelper createHelper1 = workbook.getCreationHelper();

    cellStyle1.setDataFormat(createHelper1.createDataFormat().getFormat("HH:MM AM/PM"));

    Sheet sheet = workbook.createSheet("Sheet");

    Row row = sheet.createRow(0);

    Cell cell = row.createCell(1);

    System.out.println(time.toString());

    cell.setCellValue(time);

    cell.setCellStyle(cellStyle1);


    try {

        FileOutputStream outputStream = new FileOutputStream("C:/temp/file.xlsx");

        workbook.write(outputStream);

        workbook.close();

    } catch (FileNotFoundException e) {

        e.printStackTrace();

    } catch (IOException e) {

        e.printStackTrace();

    }

}


查看完整回答
反對 回復(fù) 2021-09-29
  • 2 回答
  • 0 關(guān)注
  • 267 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號