Java直接生成excel存到本地
  CAafM1dvApme 2023年11月02日 28 0

Java直接生成Excel存到本地

Excel是一种常用的办公工具,用于存储和处理数据。在日常工作中,我们经常需要生成Excel文件,并将其保存到本地以便后续使用。本文将介绍如何使用Java语言直接生成Excel文件并将其存储到本地。我们将使用Apache POI这个强大的Java库来实现这个功能。

Apache POI简介

Apache POI是一个用于读写Microsoft Office格式文件(如Excel、Word和PowerPoint)的Java库。它提供了一套API,使我们能够创建、读取和修改Office文档。在本文中,我们将重点关注POI的Excel部分,即如何使用POI来生成和保存Excel文件。

准备工作

在开始之前,我们需要引入POI库。你可以从Apache POI的官方网站(

创建Excel文件

要创建一个Excel文件,我们首先需要创建一个工作簿(Workbook)对象。工作簿是Excel文件的最高级别的容器,它包含一个或多个工作表(Sheet)。在POI中,有两种类型的工作簿可供我们使用:HSSFWorkbook用于处理扩展名为.xls的Excel文件,XSSFWorkbook用于处理扩展名为.xlsx的Excel文件。下面是一个简单的示例,演示如何创建一个工作簿和一个工作表:

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class ExcelGenerator {

    public static void main(String[] args) {
        // 创建工作簿
        Workbook workbook = new XSSFWorkbook();

        // 创建工作表
        Sheet sheet = workbook.createSheet("Sheet1");

        // 在工作表中创建行和单元格
        Row row = sheet.createRow(0);
        Cell cell = row.createCell(0);
        cell.setCellValue("Hello, World!");

        // 保存工作簿到本地文件
        try {
            FileOutputStream fileOut = new FileOutputStream("output.xlsx");
            workbook.write(fileOut);
            fileOut.close();
            System.out.println("Excel文件已成功保存到本地!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上面的示例中,我们首先创建一个XSSFWorkbook对象,表示一个Excel工作簿。然后,我们使用该工作簿创建一个名为"Sheet1"的工作表。接下来,我们在工作表中创建一个行和一个单元格,并为单元格设置值。最后,我们使用FileOutputStream将工作簿写入到名为"output.xlsx"的文件中。

添加数据

在上面的示例中,我们只是向单元格中写入了一个简单的字符串。实际上,我们可以在Excel文件中添加各种类型的数据,包括文本、数字、日期、公式等。下面是一个示例,演示如何向Excel文件中添加不同类型的数据:

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Date;

public class ExcelGenerator {

    public static void main(String[] args) {
        Workbook workbook = new XSSFWorkbook();
        Sheet sheet = workbook.createSheet("Sheet1");

        Row row = sheet.createRow(0);

        // 添加文本
        Cell cell1 = row.createCell(0);
        cell1.setCellValue("Hello, World!");

        // 添加数字
        Cell cell2 = row.createCell(1);
        cell2.setCellValue(12345.6789);

        // 添加日期
        CellStyle dateStyle = workbook.createCellStyle();
        dateStyle.setDataFormat(workbook.getCreationHelper().createDataFormat().getFormat("yyyy-MM-dd HH:mm:ss"));
        Cell cell3 = row.createCell(2);
        cell3.setCellValue(new Date());
        cell3.setCellStyle(dateStyle);

        // 添加公式
        Cell cell4 = row.createCell(3);
        cell4.setCellFormula("SUM(B1:B1)");

        try {
            FileOutputStream fileOut = new FileOutputStream("output.xlsx");
            workbook.write(fileOut);
            fileOut.close();
            System.out.println("Excel文件已成功保存到本地!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上面的示例中,我们创建了一个日期样式(dateStyle),并将其应用于日期单元格(cell3)。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  2Vtxr3XfwhHq   2024年05月17日   46   0   0 Java
  Tnh5bgG19sRf   2024年05月20日   100   0   0 Java
  8s1LUHPryisj   2024年05月17日   42   0   0 Java
  aRSRdgycpgWt   2024年05月17日   44   0   0 Java
CAafM1dvApme