Java POI API:从 .xlsx 转换为 .xls

excelJava

1个回答

写回答

Rayalch

2025-08-26 14:30

+ 关注

Java
Java

使用Java POI API可以方便地将excel文件从 *.xlsx 格式转换为 *.xls 格式。本文将介绍如何使用Java POI API来实现这一转换,并提供相应的案例代码。

POI(Poor Obfuscation Implementation)是Java编程语言的一套开源API,用于处理Microsoft Office格式的文件,包括word文档、excel电子表格和PowerPoint演示文稿。使用POI API,我们可以在Java程序中读取、创建和修改excel文件。

首先,我们需要确保在项目中引入了POI库的依赖。可以通过在项目的pom.XML文件中添加以下依赖来实现:

XML

<dependency>

<groupId>org.apache.poi</groupId>

<artifactId>poi</artifactId>

<version>4.1.2</version>

</dependency>

接下来,我们将创建一个Java类,用于实现从 *.xlsx 转换为 *.xls 的功能。以下是一个示例代码:

Java

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

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

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import Java.io.FileInputStream;

import Java.io.FileOutputStream;

import Java.io.IOException;

public class excelConverter {

public static void convertXlsxToXls(String xlsxFilePath, String xlsFilePath) {

try {

FileInputStream fileInputStream = new FileInputStream(xlsxFilePath);

Workbook workbook = WorkbookFactory.create(fileInputStream);

HSSFWorkbook hssfWorkbook = new HSSFWorkbook();

for (int i = 0; i < workbook.getNumberOfSheets(); i++) {</p> hssfWorkbook.createSheet(workbook.getSheetName(i));

}

FileOutputStream fileOutputStream = new FileOutputStream(xlsFilePath);

hssfWorkbook.write(fileOutputStream);

fileInputStream.close();

fileOutputStream.close();

System.out.println("Conversion completed successfully!");

} catch (IOException e) {

e.printStackTrace();

}

}

public static void mAIn(String[] args) {

String xlsxFilePath = "input.xlsx";

String xlsFilePath = "output.xls";

convertXlsxToXls(xlsxFilePath, xlsFilePath);

}

}

在上述代码中,我们首先使用FileInputStream读取输入的 *.xlsx 文件,并使用WorkbookFactory创建一个Workbook对象。然后,我们创建一个HSSFWorkbook对象,用于保存转换后的 excel 文件。接下来,我们逐个复制 *.xlsx 文件中的每个工作表,并将其添加到HSSFWorkbook中。最后,使用FileOutputStreamHSSFWorkbook写入输出的 *.xls 文件。

mAIn方法中,我们可以指定输入和输出的文件路径,并调用convertXlsxToXls方法进行转换。

代码示例

Java

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

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

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import Java.io.FileInputStream;

import Java.io.FileOutputStream;

import Java.io.IOException;

public class excelConverter {

public static void convertXlsxToXls(String xlsxFilePath, String xlsFilePath) {

try {

FileInputStream fileInputStream = new FileInputStream(xlsxFilePath);

Workbook workbook = WorkbookFactory.create(fileInputStream);

HSSFWorkbook hssfWorkbook = new HSSFWorkbook();

for (int i = 0; i < workbook.getNumberOfSheets(); i++) {</p> hssfWorkbook.createSheet(workbook.getSheetName(i));

}

FileOutputStream fileOutputStream = new FileOutputStream(xlsFilePath);

hssfWorkbook.write(fileOutputStream);

fileInputStream.close();

fileOutputStream.close();

System.out.println("Conversion completed successfully!");

} catch (IOException e) {

e.printStackTrace();

}

}

public static void mAIn(String[] args) {

String xlsxFilePath = "input.xlsx";

String xlsFilePath = "output.xls";

convertXlsxToXls(xlsxFilePath, xlsFilePath);

}

}

转换 *.xlsx 到 *.xls

以上是使用Java POI API将 excel 文件从 *.xlsx 格式转换为 *.xls 格式的示例代码。通过使用POI库,我们可以方便地在Java程序中进行excel文件的读取和转换。希望本文对您理解如何使用Java POI API进行文件格式转换有所帮助。

举报有用(4分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号