首页 > 其他分享 >使用Apache POI 处理Miscrosoft Office各种格式文件

使用Apache POI 处理Miscrosoft Office各种格式文件

时间:2024-07-17 19:40:24浏览次数:8  
标签:文件 Office Excel 格式文件 createCell POI new row

  1. 介绍
    Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是,我们可以使用 POI 在 Java 程序中对Miscrosoft Office各种文件进行读写操作。一般情况下,POI 都是用于操作 Excel 文件。
    image

  2. Apache POI 的应用场景:
    ● 银行网银系统导出交易明细
    ● 各种业务系统导出Excel报表
    ● 批量导入业务数据

  3. 使用

  • Apache POI的maven坐标:
<!-- poi -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
</dependency>
  • 读、写
/**
 * 使用POI操作Excel文件
 */
public class POITest {

    /**
     * 通过POI创建Excel文件并且写入文件内容
     */
    public static void write() throws Exception{
        //在内存中创建一个Excel文件
        XSSFWorkbook excel = new XSSFWorkbook();
        //在Excel文件中创建一个Sheet页
        XSSFSheet sheet = excel.createSheet("info");
        //在Sheet中创建行对象,rownum编号从0开始
        XSSFRow row = sheet.createRow(1);
        //创建单元格并且写入文件内容
        row.createCell(1).setCellValue("姓名");
        row.createCell(2).setCellValue("城市");

        //创建一个新行
        row = sheet.createRow(2);
        row.createCell(1).setCellValue("张三");
        row.createCell(2).setCellValue("北京");

        row = sheet.createRow(3);
        row.createCell(1).setCellValue("李四");
        row.createCell(2).setCellValue("南京");

        //通过输出流将内存中的Excel文件写入到磁盘
        FileOutputStream out = new FileOutputStream(new File("D:\\info.xlsx"));
        excel.write(out);

        //关闭资源
        out.close();
        excel.close();
    }


    /**
     * 通过POI读取Excel文件中的内容
     * @throws Exception
     */
    public static void read() throws Exception{
        InputStream in = new FileInputStream(new File("D:\\info.xlsx"));

        //读取磁盘上已经存在的Excel文件
        XSSFWorkbook excel = new XSSFWorkbook(in);
        //读取Excel文件中的第一个Sheet页
        XSSFSheet sheet = excel.getSheetAt(0);

        //获取Sheet中最后一行的行号
        int lastRowNum = sheet.getLastRowNum();

        for (int i = 1; i <= lastRowNum ; i++) {
            //获得某一行
            XSSFRow row = sheet.getRow(i);
            //获得单元格对象
            String cellValue1 = row.getCell(1).getStringCellValue();
            String cellValue2 = row.getCell(2).getStringCellValue();
            System.out.println(cellValue1 + " " + cellValue2);
        }

        //关闭资源
        in.close();
        excel.close();
    }

    public static void main(String[] args) throws Exception {
        //write();
        read();
    }
}

标签:文件,Office,Excel,格式文件,createCell,POI,new,row
From: https://www.cnblogs.com/ashuai123/p/18308161

相关文章

  • JAVA操作Excel使用poi和easyexcel依赖的兼容性问题
      EasyExcel版本3.1.0及以上支持poi5.2.3。具体来说,EasyExcel3.1.0及之后的版本兼容poi4.1.2至5.2.2的范围,因此它确实支持poi5.2.3。但请注意,使用3.0.0及以上版本的EasyExcel配合poi5+时,需要手动在项目的依赖管理中排除poi-ooxml-schemas依赖,示例如下:<dependency>......
  • Office文件打不开如何处理
        在快节奏的现代办公环境中,MicrosoftOffice无疑是我们的得力助手,无论是起草报告、整理数据还是制作演示文稿,它都在背后默默支撑着我们的工作与学习。然而,当有一天,你突然发现重要的Office文档无法打开,屏幕上的错误信息仿佛一道无形的墙,阻隔了你与辛勤工作成果之间的......
  • 文件流下载文件,zip/其他格式文件
         constloading=this.$loading({      lock:true,      text:'下载中...',      spinner:'el-icon-loading'     })     batchDownload(params).then((res)=>{//res格式:{data:二进制文件流......
  • SpringAOP中的切点表达式Pointcut详解
    https://www.jb51.net/program/293999439.htm 一、概述SpringAOP只支持SpringBean的方法切入,所以切点表达式只会匹配Bean类中的方法。二、切点表达式配置1.内置配置定义切面通知时,在 @Before 或 @AfterReturning 等通知注解中指定表达式。12345......
  • Apache POI入门学习
    目录说明介绍与使用场景:说明使用场景:使用:一:导入maven坐标:二:POI写入文件基本使用:POI读取文件基本使用:实际使用:代码开发导出效果:说明介绍与使用场景:说明ApachePOI可用于处理MiscrosoftOffice各种文件格式。可以使用POI在Java程序中对MiscrosoftOffice各种......
  • Microsoft Office 自定义安装部署工具 | Mocreak
    软件简介:Mocreak是一款一键自动化下载、安装、部署正版Office的办公增强工具。该工具完全免费、无广告、绿色、无毒、简约、高效、安全。软件特点:一键快速下载、安装、部署最新版MicrosoftOffice软件。提供简约、高效,且可自定义的图形界面,提升部署效率。支持将Office安......
  • Npoi 复制行的问题记录
    最近在做Excel模板数据导出,要求在Excel展示数据分页结果,做分页时发现npoi复制行有个bug【这种情况并不会百分百复现,sheet.CopyRow,备注下面的那一列还是会正常被复制显示完整的】,本来第一行的文字在A1下是可以完全显示的,但是复制的第二页之后,就不会完整显示了,如下经过调查,原因是......
  • 第二部分:关键技术领域的开源实践【在线办公协同利器OnlyOffice】
    OnlyOffice是一个开源的文档编辑和协作平台,它提供了一套完整的在线办公解决方案,包括文字处理、电子表格、演示文稿编辑以及项目管理和客户关系管理(CRM)功能。OnlyOffice的主要特点在于其深度集成能力和高度定制性,允许企业将其集成到现有的企业资源规划(ERP)、内容管理系统(CMS)和其他......
  • 题解:Codeforces CF1613C Poisoned Dagger
    标签:二分题意给定一个长度为\(n\)的序列\(a\),定义数\(k\),对于\(i>1\),如果\(a_i-a_{i-1}<k\),\(s\)加上\(a_i-a_{i-1}\),否则加上\(k\),求满足\(s\geqh\)的最小\(k\)。思路手玩样例,\(k\)越大龙死的越快,所以具有单调性,考虑二分答案。每次缩小范围时判断是否\(k\g......
  • zdppy+onlyoffice+vue3解决文档加载和文档强制保存时弹出警告的问题
    解决过程第一次排查最开始排查的是官方文档说的https://api.onlyoffice.com/editors/troubleshooting#key解决方案。参考的是官方的https://github.com/ONLYOFFICE/document-server-integration/releases/latest/download/Python.Example.zip基于Django的Python代码。......