java读取加密的外置execl

比如需要在springboot install 出来的jar包 旁边放一个excel.xlsx,而且这个文件还是要加密的,为 了不让客户看见核心配置和修改

第一次没经验弄了一整天才搞出来,网上一大堆方法,没一个可行的,坑爹,我日,特此写此文留给自己以后看

需要用到的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>

 

import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;

           Workbook wb = null;
            FileInputStream in = null;
            try {
                in = new FileInputStream("配置文件.xlsx");//读取xlsx文件
                wb = WorkbookFactory.create(in,password);//设置密码打开
            } catch (Exception e) {
                e.printStackTrace();
            }finally {
                in.close();
            }

 

这样就可以打开这个execl 了,接下来读execl

上面路径直接写文件名就行,当时你运行开发软件的时候必须把这个文件放到,否则就会提升找不到这个文件

或者可以在pom.xml 文件中

加入 <properties>

<java.version>1.8</java.version>

<skipTests>true</skipTests>

</properties>

来告诉项目打包的时候跳过单元测试

 

当我们install出来一个jar 后

 

这样就可以了,虽然你们看起来很简单,不过我可是花了一天时间才弄出来的,太多坑了,千万不要是用 .xls 的文件

要使用.xlsx ,坑多的我想爆粗。

希望我踩过的坑大家不用再踩,无偿贡献,觉得好希望点个赞并且转发,谢谢

 

Java中,使用Apache POI库可以方便地读取Excel(.xls和.xlsx)文件。POI是一个流行的API,它允许开发者操作Microsoft Office格式的文档,包括创建、修改和读取。以下是使用POI读取Excel文件的基本步骤: 1. 引入依赖:首先需要在项目中添加Apache POI的依赖。如果你使用Maven,可以在pom.xml文件中加入: ```xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>最新版本号</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>最新版本号</version> </dependency> ``` 2. 创建`HSSFWorkbook`或`XSSFWorkbook`:根据Excel文件的类型(`.xls`还是`.xlsx`),选择合适的读取工具。如果是旧版的`.xls`,使用`HSSFWorkbook`;如果是新的`.xlsx`,使用`XSSFWorkbook`。 ```java FileInputStream inputStream = new FileInputStream("path_to_your_file.xls"); HSSFWorkbook workbook = new HSSFWorkbook(inputStream); // 或者 FileInputStream inputStream = new FileInputStream("path_to_your_file.xlsx"); XSSFWorkbook workbook = new XSSFWorkbook(inputStream); ``` 3. 读取工作表:通过`workbook.getSheetAt(index)`获取特定索引的工作表,然后遍历行和列获取数据。 ```java Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表 Iterator<Row> rowIterator = sheet.iterator(); while (rowIterator.hasNext()) { Row row = rowIterator.next(); Iterator<Cell> cellIterator = row.cellIterator(); while (cellIterator.hasNext()) { Cell cell = cellIterator.next(); String value = cell.getStringCellValue(); // 对数字型cell可以用getNumericCellValue()等方法 System.out.print(value + "\t"); // 打印单元格内容 } System.out.println(); // 每行打印结束换行 } ``` 4. 关闭资源:最后记得关闭输入流和工作簿。 ```java inputStream.close(); workbook.close(); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值