首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Apache POI -基于两个日期参数导出到Excel

Apache POI 是一个 Java 库,用于操作 Microsoft Office 文档,包括 Excel

以下是一个简单的示例,演示如何使用 Apache POI 将两个日期参数之间的数据导出到 Excel 文件:

  1. 首先,确保已将 Apache POI 添加到项目的依赖项中。如果您使用的是 Maven,请在 pom.xml 文件中添加以下依赖项:
代码语言:javascript
复制
<dependency>
  <groupId>org.apache.poi</groupId>
  <artifactId>poi-ooxml</artifactId>
  <version>5.0.0</version>
</dependency>
  1. 创建一个 Java 类,用于导出数据到 Excel:
代码语言:javascript
复制
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.FileOutputStream;
import java.io.IOException;
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.List;

public class ExcelExporter {

    public static void main(String[] args) {
        LocalDate startDate = LocalDate.of(2021, 1, 1);
        LocalDate endDate = LocalDate.of(2021, 1, 10);

        List<String[]> data = getDataBetweenDates(startDate, endDate);

        exportDataToExcel(data, "output.xlsx");
    }

    private static List<String[]> getDataBetweenDates(LocalDate startDate, LocalDate endDate) {
        List<String[]> data = new ArrayList<>();

        // 在此处添加获取数据的逻辑,例如从数据库中查询
        // 这里我们只是简单地生成一些示例数据
        for (LocalDate date = startDate; !date.isAfter(endDate); date = date.plusDays(1)) {
            data.add(new String[]{date.toString(), "Data for " + date});
        }

        return data;
    }

    private static void exportDataToExcel(List<String[]> data, String fileName) {
        Workbook workbook = new XSSFWorkbook();
        Sheet sheet = workbook.createSheet("Data");

        int rowIndex = 0;

        for (String[] rowData : data) {
            Row row = sheet.createRow(rowIndex++);
            int cellIndex = 0;

            for (String cellData : rowData) {
                Cell cell = row.createCell(cellIndex++);
                cell.setCellValue(cellData);
            }
        }

        try (FileOutputStream fileOut = new FileOutputStream(fileName)) {
            workbook.write(fileOut);
        } catch (IOException e) {
            e.printStackTrace();
        }

        try {
            workbook.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在这个示例中,我们首先定义了两个日期参数 startDateendDate。然后,我们使用 getDataBetweenDates() 方法获取这两个日期之间的数据。在这个示例中,我们只是简单地生成了一些示例数据,但在实际应用中,您可能需要从数据库或其他数据源中查询数据。

接下来,我们使用 exportDataToExcel() 方法将数据导出到 Excel 文件。我们创建了一个新的 WorkbookSheet,然后将数据逐行写入表格。最后,我们将工作簿写入文件并关闭它。

运行此代码后,您将在当前目录下找到一个名为 output.xlsx 的 Excel 文件,其中包含两个日期参数之间的数据。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券