Apache POI处理Miscrosoft Office 各种文件格式的开源项目

介绍:

应用场景

maven 坐标

复制代码
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
                <version>3.16</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml</artifactId>
                <version>3.16</version>
            </dependency>

方法及其作用

创建/写入

复制代码
//创建Excel文件 并且写入文件内容(在内存中创建)
XSSFWorkbook excel = new XSSFWorkbook();

用XSSFWorkbook()创建的excel表默认没有sheet页 需要手动创建

复制代码
XSSFSheet sheet = excel.createSheet();//创建一个sheet页
复制代码
复制代码
        XSSFWorkbook excel = new XSSFWorkbook();//新建excel表
        XSSFSheet sheet = excel.createSheet("info");//创建一个sheet页
                                            //输入sheet名字
        XSSFRow row = sheet.createRow(1);//创建第二行(从0开始)
        row.createCell(1).setCellValue("姓名");//创建单元格也是从0开始 这里表示创建第二个单元格
                                      //在单元格中写入内容
        row.createCell(2).setCellValue("年龄");

        XSSFRow row1 = sheet.createRow(2);
        row1.createCell(1).setCellValue("小李");
        row1.createCell(2).setCellValue("18");

通过excel在磁盘创建

复制代码
        //通过输出流将excel写入磁盘
        FileOutputStream info = new FileOutputStream(new File("D://info.xlsx"));
        excel.write(info);

        info.close();
        excel.close();//关闭资源

执行之后

读取

复制代码
        //通过输入流获取表格
        FileInputStream in = new FileInputStream(new File("D://info.xlsx"));
        XSSFWorkbook excel = new XSSFWorkbook(in);//接收表格
        XSSFSheet sheet = excel.getSheetAt(0);//通过索引获取sheet页
        //XSSFSheet sheet1 = excel.getSheet("sheet");//通过名字获取sheet页
        int lastRowNum = sheet.getLastRowNum();//获取表中有内容的 最后一行的行号
        for (int i = 1; i <= lastRowNum; i++) {
            //已知有内容的最后一行 循环读取sheet页中内容
            XSSFRow row = sheet.getRow(i);
            XSSFCell cell = row.getCell(1);
            XSSFCell cell1 = row.getCell(2);
            System.out.println(cell + " " + cell1);
        }
        in.close();
        excel.close();

执行结果 记得关流

相关推荐
行业研究员4 天前
腾讯位置服务核心功能与应用场景解析
apache·lbs·腾讯位置服务
SeaTunnel5 天前
Apache SeaTunnel 提交一个任务都经过了什么?
java·大数据·服务器·apache·etl·seatunnel
SelectDB8 天前
基于 Apache Doris 搭建 RAG 系统:从基础 RAG 到知识图谱增强的完整实现与选型指南
apache
SelectDB8 天前
SelectDB Enterprise 4.0.5:企业级实时分析与 AI 数据底座怎么选?安全合规配置指南
apache
隔窗听雨眠8 天前
80TB电商数据迁移实录:从PostgreSQL分析困境到Apache Doris架构突围
postgresql·架构·apache
lsh曙光9 天前
Apache服务
apache
Norris Huang10 天前
Icevue:为 Apache Iceberg REST Catalog 打造一个轻量、只读的可视化入口
apache
ajassi200011 天前
AI语音智能体开发日记(三)解决小程序配网中的蓝牙命名与MAC地址获取问题
ai·apache·ai编程
SelectDB技术团队11 天前
当 PostgreSQL 面临性能瓶颈:80TB 电商业务迁移至 Apache Doris 的实践思考
数据库·postgresql·apache
sbjdhjd11 天前
安全初级 | Upload 文件上传漏洞实操
android·经验分享·安全·网络安全·开源·php·apache