poi 上传pptx、docx、xlsx 报错提示org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream.builder()

 在调用以下方法的时候,会提示org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream.builder()错误

        SlideShow slideShow;
        if (fileType.equalsIgnoreCase("ppt")) {
            slideShow = new HSLFSlideShow(pptInputStream); // 加载 PPT 格式
        } else {
            slideShow = new XMLSlideShow(pptInputStream); // 加载 PPTX 格式
        }

/**
     * 判断excel
     * @param is
     * @return
     * @throws IOException
     */
    private static Workbook getWorkbook(InputStream is, String fileType) throws IOException {
        Workbook workbook;
        fileType = fileType.toLowerCase();  // 将文件类型转换为小写
        // 判断文件类型
        switch (fileType) {
            case "xls":
                workbook = new HSSFWorkbook(is);  // 处理 .xls 格式 (HSSFWorkbook 用于 97-2003 Excel)
                break;
            case "xlsx":
                workbook = new XSSFWorkbook(is);  // 处理 .xlsx 格式 (XSSFWorkbook 用于 Excel 2007+)
                break;
            default:
                throw new IllegalArgumentException("无效的文件类型:" + fileType);  // 抛出异常,避免返回 null
        }
        return workbook;
    }
 // 使用 XWPFDocument 解析 .docx 文件
        XWPFDocument docx = new XWPFDocument(docxInputStream);
		<!-- commons -->
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.11.0</version>
		</dependency>
		<dependency>
			<groupId>org.apache.pdfbox</groupId>
			<artifactId>pdfbox</artifactId>
			<version>2.0.33</version>
			<!-- 最新版本 -->
		</dependency>
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi-ooxml</artifactId>
			<version>5.2.3</version>
		</dependency>
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi-scratchpad</artifactId>
			<version>5.2.3</version>
		</dependency>

但在官网的版本提示中

所以需要改为以下版本

        <!-- commons -->
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.13.0</version>
		</dependency>
		<dependency>
			<groupId>org.apache.pdfbox</groupId>
			<artifactId>pdfbox</artifactId>
			<version>2.0.26</version>
			<!-- 最新版本 -->
		</dependency>
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi-ooxml</artifactId>
			<version>5.2.4</version>
		</dependency>
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi-scratchpad</artifactId>
			<version>5.2.4</version>
		</dependency>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值