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();

执行结果 记得关流

相关推荐
麦兜*12 小时前
深入解析云原生时代的高性能消息中间件:基于Apache Pulsar与Kafka架构对比的万亿级数据吞吐与低延迟实时处理实战
云原生·kafka·apache
SelectDB技术团队12 小时前
上市大模型企业数据基础设施的选择:MiniMax 基于阿里云 SelectDB 版,打造全球统一AI可观测中台
数据库·数据仓库·人工智能·ai·apache
DolphinScheduler社区12 小时前
Linux 环境下,Apache DolphinScheduler 如何驱动 Flink 消费 Kafka 数据?
linux·flink·kafka·开源·apache·海豚调度·大数据工作流调度
DolphinScheduler社区13 小时前
深度探秘 Apache DolphinScheduler 数据库模式
数据库·开源·apache·开源社区·海豚调度·大数据工作流调度
zhangkaixuan4561 天前
Paimon 读取数据流程深度解析
大数据·hadoop·flink·apache·paimon
zhangkaixuan4561 天前
paimon 主键表 vs 非主键表配置速查
大数据·数据库·flink·apache·paimon
wasp5202 天前
拒绝 OOM:Apache Fesod 高性能 Excel 处理架构全景解析
算法·架构·apache·excel
还在忙碌的吴小二2 天前
Apache SkyWalking 完整使用手册
apache·skywalking
前端玖耀里3 天前
Spring Boot 3 集成 Apache Calcite:多数据源查询的终极解决方案
spring boot·后端·apache
你才是臭弟弟4 天前
Apache Flink+Apache Iceberg(协作关系)
大数据·flink·apache