apache poi - 如何在同一单元格中编写并继续循环行

我的循环有问题。我想要做的是我想写下整个 12 月的日期,然后是 2019 年的总日期。但是我现在遇到的问题是 2019 年的总日期没有显示在与 2018 年 12 月的总日同一列的行下


我当前的输出(2018 年 12 月 31 日的行号落在第 34 行:


MONTH

------

2018-12-01

2018-12-02

2018-12-03

2018-12-04

...

2018-12-31

我认为我的问题出在 getRow 和循环上。请帮我。


// month


    int maxDay = cal1.getActualMaximum(Calendar.DAY_OF_MONTH);


    for (int dec = 1; dec <= maxDay; dec++) {


        Row row3 = sheet.getRow(dec + 2);


        Cell cell1 = row3 .createCell(2);


        cal1.set(Calendar.YEAR, 2018);

        cal1.set(Calendar.MONTH, 11);

        cal1.set(Calendar.DAY_OF_MONTH, 1);


        cal1.set(Calendar.DAY_OF_MONTH, dec);


        java.util.Date date1 = cal1.getTime();


        cell1.setCellValue(formatter.format(date1));

    }


    // for total date of a year 2018


    for (int notdec = 1; notdec <= 365; notdec++) {


        Row row3 = sheet.getRow(maxDay+3);  


        Cell cell1 = row3.getCell(2);


        cal.set(Calendar.YEAR, 2019);


        cal.set(Calendar.DAY_OF_YEAR, notdec);


        java.util.Date date = cal.getTime();


        cell1.setCellValue(formatter.format(date));


    }


凤凰求蛊
浏览 215回答 1
1回答

郎朗坤

这是你的代码的工作2018for (int dec = 1; dec <= maxDay; dec++) {&nbsp; &nbsp; Row row3 = sheet.getRow(dec + 2);&nbsp; &nbsp; Cell cell1 = row3 .createCell(2);&nbsp; &nbsp; cal1.set(Calendar.YEAR, 2018);&nbsp; &nbsp; cal1.set(Calendar.MONTH, 11);&nbsp; &nbsp; cal1.set(Calendar.DAY_OF_MONTH, 1);&nbsp; &nbsp; cal1.set(Calendar.DAY_OF_MONTH, dec);&nbsp; &nbsp; java.util.Date date1 = cal1.getTime();&nbsp; &nbsp; cell1.setCellValue(formatter.format(date1));}所以要继续在此之下,首先使用相同的代码并更改需要更改的内容是合乎逻辑的for (int notdec = 1; notdec <= 365; notdec++) {&nbsp; &nbsp; Row row3 = sheet.getRow(maxDay +3 + notdec);&nbsp; // THIS&nbsp; &nbsp; Cell cell1 = row3.createCell(2);&nbsp; &nbsp; &nbsp; // THIS&nbsp; &nbsp; cal1.set(Calendar.YEAR, 2019);&nbsp; &nbsp; &nbsp; &nbsp;// THIS&nbsp; &nbsp; cal1.set(Calendar.DAY_OF_YEAR, notdec);&nbsp; &nbsp;// THIS&nbsp; &nbsp; java.util.Date date1 = cal1.getTime();&nbsp; &nbsp; cell1.setCellValue(formatter.format(date1));}由于您尚未输入所需的输出,我猜这可能是您想要的
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java