java xls转xlsx
时间: 2023-09-07 12:01:37 浏览: 140
Java可以通过使用Apache POI库来实现将xls文件转换为xlsx文件。
首先,我们需要在Java项目中引入Apache POI的相关依赖项。在maven项目中,可以在pom.xml文件中添加以下依赖项:
```
<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>
```
接下来,我们可以使用以下代码来实现将xls文件转换为xlsx文件:
```java
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class ExcelConverter {
public static void main(String[] args) {
String inputFile = "input.xls"; // 输入的xls文件路径
String outputFile = "output.xlsx"; // 输出的xlsx文件路径
try {
FileInputStream inputStream = new FileInputStream(inputFile);
Workbook inputWorkbook = new HSSFWorkbook(inputStream); // 创建xls工作簿
Workbook outputWorkbook = new XSSFWorkbook(); // 创建xlsx工作簿
int numberOfSheets = inputWorkbook.getNumberOfSheets(); // 获取xls中的工作表数量
for (int i = 0; i < numberOfSheets; i++) {
Sheet inputSheet = inputWorkbook.getSheetAt(i); // 获取xls中的一个工作表
Sheet outputSheet = outputWorkbook.createSheet(inputSheet.getSheetName()); // 创建对应的工作表到xlsx文件中
int rowCount = inputSheet.getLastRowNum();
for (int j = 0; j <= rowCount; j++) {
Row inputRow = inputSheet.getRow(j); // 获取xls中的一行数据
Row outputRow = outputSheet.createRow(j); // 创建对应的行到xlsx文件中
int cellCount = inputRow.getLastCellNum();
for (int k = 0; k < cellCount; k++) {
Cell inputCell = inputRow.getCell(k); // 获取xls中的一个单元格
Cell outputCell = outputRow.createCell(k); // 创建对应的单元格到xlsx文件中
outputCell.setCellValue(inputCell.getStringCellValue()); // 将xls单元格的值复制到xlsx单元格
}
}
}
FileOutputStream outputStream = new FileOutputStream(outputFile);
outputWorkbook.write(outputStream); // 将xlsx工作簿保存到文件中
outputStream.close();
inputWorkbook.close();
outputWorkbook.close();
System.out.println("转换成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
以上代码将读取名为"input.xls"的xls文件,将其内容复制到一个新创建的名为"output.xlsx"的xlsx文件中。转换完成后,控制台将输出"转换成功!"。
这就是使用Java将xls文件转换为xlsx文件的基本步骤。你可以根据需要进行进一步的定制和优化。
阅读全文