遇到一个问题,需要把xlsx文件转换成xls发送给客户,一开始使用了
这个包
Workbook wb = new Workbook();
wb.loadFromFile(oldFile);
wb.saveToFile(newFile);
这样就转换了,后面发现值能转200行数据,多的就丢失了。查了好久也没找到头绪,有没有能帮助下。
用POI应该也可以做吧
spire这东西要收费的把,免费版有限制,比如只支持5个sheet,200行数据,还有水印等。自己去网上看能不能找个破解码。xlsx转xls的话直接改后缀名满足你的需求不
只能读出来,再重新创建写进去
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
java代码
package com.eleven;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class ElevenTest {
public static void main(String[] args) {
File oldFile = new File("D:\\oldFile.xlsx");
File newFile = new File("D:\\newFile.xls");
try(FileInputStream is = new FileInputStream(oldFile);
Workbook workbook = new XSSFWorkbook(is);
FileOutputStream fos = new FileOutputStream(newFile)){
workbook.write(fos);
}catch (Exception e){
e.printStackTrace();
}
}
}
如有帮助,请采纳哦