当前位置:首页 > Java

java如何excel

2026-03-19 13:02:10Java

读取Excel文件

使用Apache POI库读取Excel文件。确保在项目中添加POI依赖。对于Maven项目,在pom.xml中添加以下依赖:

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>5.2.3</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>5.2.3</version>
</dependency>

读取Excel文件的代码示例:

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileInputStream;
import java.io.IOException;

public class ExcelReader {
    public static void main(String[] args) {
        try (FileInputStream fis = new FileInputStream("example.xlsx");
             Workbook workbook = new XSSFWorkbook(fis)) {
            Sheet sheet = workbook.getSheetAt(0);
            for (Row row : sheet) {
                for (Cell cell : row) {
                    System.out.print(cell.toString() + "\t");
                }
                System.out.println();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

写入Excel文件

使用Apache POI库创建和写入Excel文件。以下代码示例展示了如何创建一个新的Excel文件并写入数据:

java如何excel

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;

public class ExcelWriter {
    public static void main(String[] args) {
        try (Workbook workbook = new XSSFWorkbook();
             FileOutputStream fos = new FileOutputStream("output.xlsx")) {
            Sheet sheet = workbook.createSheet("Sheet1");
            Row row = sheet.createRow(0);
            Cell cell = row.createCell(0);
            cell.setCellValue("Hello, Excel!");
            workbook.write(fos);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

处理Excel公式

在Excel单元格中设置公式并计算其结果。以下代码示例展示了如何设置公式并获取计算结果:

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;

public class ExcelFormula {
    public static void main(String[] args) {
        try (Workbook workbook = new XSSFWorkbook();
             FileOutputStream fos = new FileOutputStream("formula.xlsx")) {
            Sheet sheet = workbook.createSheet("Sheet1");
            Row row = sheet.createRow(0);
            row.createCell(0).setCellValue(10);
            row.createCell(1).setCellValue(20);
            Cell cell = row.createCell(2);
            cell.setCellFormula("A1+B1");
            workbook.getCreationHelper().createFormulaEvaluator().evaluateAll();
            workbook.write(fos);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

使用EasyExcel处理大数据量

对于大数据量的Excel文件,可以使用EasyExcel库,它提供了更高效的内存管理。在Maven项目中添加EasyExcel依赖:

java如何excel

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>3.1.5</version>
</dependency>

读取大数据量Excel文件的代码示例:

import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.read.listener.ReadListener;

public class EasyExcelReader {
    public static void main(String[] args) {
        String fileName = "large_file.xlsx";
        EasyExcel.read(fileName, new ReadListener<Object>() {
            @Override
            public void invoke(Object data, AnalysisContext context) {
                System.out.println(data);
            }
            @Override
            public void doAfterAllAnalysed(AnalysisContext context) {
                System.out.println("Read complete");
            }
        }).sheet().doRead();
    }
}

导出Excel文件

使用EasyExcel导出数据到Excel文件。以下代码示例展示了如何将数据导出为Excel文件:

import com.alibaba.excel.EasyExcel;
import java.util.ArrayList;
import java.util.List;

public class EasyExcelWriter {
    public static void main(String[] args) {
        String fileName = "export.xlsx";
        List<List<String>> data = new ArrayList<>();
        List<String> row = new ArrayList<>();
        row.add("Name");
        row.add("Age");
        data.add(row);
        row = new ArrayList<>();
        row.add("Alice");
        row.add("25");
        data.add(row);
        EasyExcel.write(fileName).sheet("Sheet1").doWrite(data);
    }
}

标签: javaexcel
分享给朋友:

相关文章

如何使用java

如何使用java

安装Java开发环境 下载并安装Java Development Kit(JDK),推荐从Oracle官网或OpenJDK获取最新版本。安装完成后配置环境变量,确保JAVA_HOME指向JDK安装路径…

如何编写java程序

如何编写java程序

安装开发环境 下载并安装JDK(Java Development Kit),推荐从Oracle官网或OpenJDK获取最新版本。安装完成后配置环境变量,确保JAVA_HOME和PATH正确设置。 选…

java中如何获取当前时间

java中如何获取当前时间

获取当前时间的几种方法 使用 java.time 包(Java 8及以上推荐) import java.time.LocalDateTime; LocalDateTime currentTime =…

java如何实现多继承

java如何实现多继承

在Java中,由于语言设计本身不支持多继承(即一个类不能直接继承多个父类),但可以通过以下方式间接实现类似多继承的效果: 使用接口实现多继承 接口允许一个类实现多个接口,从而继承多个抽象行为。接口中…

eclipse如何创建java

eclipse如何创建java

在Eclipse中创建Java项目 打开Eclipse后,选择菜单栏中的"File" -> "New" -> "Java Project"。在弹出的对话框中输入项目名称,确保"Use de…

java如何取绝对值

java如何取绝对值

取绝对值的方法 在Java中,取绝对值可以通过以下几种方式实现: 使用Math.abs()方法 Math.abs()是Java中最常用的取绝对值方法,适用于多种数据类型: int abso…