首页 > 编程语言 >java POI实现导入导出功能

java POI实现导入导出功能

时间:2023-09-02 12:03:01浏览次数:48  
标签:rowData java import POI new 导入 poi apache org

  1. 导入POI库的依赖项,在项目中加入以下Maven依赖项:
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>4.1.2</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>4.1.2</version>
</dependency>
  1. 导入所需的POI类:
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFCell;
  1. 实现导出功能:
public class ExcelExporter {
    public static void exportData(List<List<String>> data, String filePath) {
        try (Workbook workbook = new XSSFWorkbook()) {
            Sheet sheet = workbook.createSheet("Sheet1");

            int rowNum = 0;
            for (List<String> rowData : data) {
                Row row = sheet.createRow(rowNum++);
                int colNum = 0;
                for (String cellData : rowData) {
                    Cell cell = row.createCell(colNum++);
                    cell.setCellValue(cellData);
                }
            }

            try (FileOutputStream outputStream = new FileOutputStream(filePath)) {
                workbook.write(outputStream);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
  1. 实现导入功能:
public class ExcelImporter {
    public static List<List<String>> importData(String filePath) {
        List<List<String>> data = new ArrayList<>();

        try (Workbook workbook = WorkbookFactory.create(new File(filePath))) {
            Sheet sheet = workbook.getSheetAt(0);

            for (Row row : sheet) {
                List<String> rowData = new ArrayList<>();
                for (Cell cell : row) {
                    rowData.add(cell.getStringCellValue());
                }
                data.add(rowData);
            }
        } catch (IOException | InvalidFormatException e) {
            e.printStackTrace();
        }

        return data;
    }
}

以上代码示例展示了如何使用POI库实现Excel文件的导入和导出功能。可以根据自己的需求进行修改和扩展。


标签:rowData,java,import,POI,new,导入,poi,apache,org
From: https://blog.51cto.com/u_16207360/7331603

相关文章

  • 基于Java的高校学生请假审批系统的设计与实现-计算机毕业设计源码+LW文档
    一、选题的目的和意义:计算机技术的发展,带来了时代变革,我们的生活方式发生了重大改变。计算机网络的普及使得信息共享成为现实,利用数据库进行信息存储分析,优化了工作方式,提高了工作效率,经过多年的发展,数据库已经应用到社会生活的方方面面,完善的数据库技术和理论基础为计算机软件提......
  • 从零开发Java入门项目--十天掌握
    ​ 原文网址:从零开发Java入门项目--十天掌握_IT利刃出鞘的博客-CSDN博客简介这是一个靠谱的Java入门项目实战,名字叫蚂蚁爱购。从零开发项目,视频加文档,十天就能学会开发Java项目,教程路线是:搭建环境=>安装软件=>创建项目=>添加依赖和配置=>通过表生成代码=>编写Java代码=>......
  • portswigger——Response queue poisoning(响应队列中毒)_02
    响应队列中毒响应队列中毒是一种强大的请求走私攻击形式,它会导致前端服务器开始将响应从后端映射到错误的请求。实际上,这意味着同一前端/后端连接的所有用户都将获得针对其他人的持久响应。这是通过走私一个完整的请求来实现的,从而在前端服务器只期望一个响应时从后端引发两个响......
  • SAP一个不以录屏方式批量导入Storage Bin的LSMW工具
    SAP一个不以录屏方式批量导入StorageBin的LSMW工具笔者在之前的项目上,导入SAPWM里的storagebin主数据多是使用录屏模式的LSMW工具。笔者目前所在的项目上,发现了还可以使用DirectInput的方式来导入StorageBin主数据,这让笔者很是兴奋。所以在自己的IDES系统上做了一个这样的LSMW......
  • Flink 1.17教程:wordcount maven工程java代码示例(批、流实现方式)
    批、流实现wordcount代码示例pom.xml<properties><flink.version>1.17.0</flink.version></properties><dependencies><dependency><groupId>org.apache.flink</groupId><......
  • Java代码:flink wordcount代码示例及解读
    WordCountWordCountPojo.java代码packagewordCount;importorg.apache.flink.api.common.functions.FlatMapFunction;importorg.apache.flink.api.common.functions.ReduceFunction;importorg.apache.flink.api.java.DataSet;importorg.apache.flink.api.java.Executio......
  • Java集合面试之Queue篇
    Java集合面试之Queue篇(qq.com)1、队列是什么?队列是常用数据结构之一。是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,故为先进先出(FIFO,firstinfirstout)线性表。和栈一样,队列是一种操作受限制的线性表。2、队列的分类?Qu......
  • 从零开发Java入门项目--十天掌握
    简介这是一个靠谱的Java入门项目实战,名字叫蚂蚁爱购。从零开发项目,视频加文档,十天就能学会开发Java项目,教程路线是:搭建环境=>安装软件=>创建项目=>添加依赖和配置=>通过表生成代码=>编写Java代码=>代码自测=>前后端联调=>准备找工作。学完即可成为合格的Java开发,心里有底,再......
  • 说说你知道哪些Java集合吧
    Java集合,主要由两大接口派生而来一个是Collection接口,主要用于存放单一元素;下面有三个主要的子接口,List、Set、Queue。List实现类主要有ArrayList、LinkedList、Vector、StackSet实现类主要是HashSet、LinkedHashSet、TreeSetQueue主要是实现类有ArrayDeque、PriorityQueue......
  • Java List常见面试题
    Java集合面试之List篇你好,面试官|我用JavaList狂怼面试官~(qq.com)本文涉及ArrayList与LinkedList区别、ArrayList扩容机制、CopyOnWriteArrayList特点、场景、思想ArrayList:基于数组实现的非线程安全的集合。实现RandomAccess接口,支持随机访问,查询元素快,插入,......