java怎么把xls格式的文件另存为xlsx文件,不能直接改后缀名?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java怎么把xls格式的文件另存为xlsx文件,不能直接改后缀名?相关的知识,希望对你有一定的参考价值。
用的什么框架,具体代码怎么实现的
一般操作Excel有专业的工具库来实现,操作时,会考虑同时兼容不同版本的excel,你这里将xls转为xlsx,就是版本之间转换,可以参考以下代码的转换方法,方法还是比较简单,直接将文件另存为就可以了:import com.spire.xls.*;
public class ExcelConversion
public static void main(String[] args)
Workbook wb = new Workbook();
wb.loadFromFile("test.xls");
wb.saveToFile("toXLSX.xlsx");
这里代码编译环境为IntelliJ IDEA,jdk是1.8.0版本,使用Excel库free spire.xls.jar 3.9.1。 参考技术A 那就需要一个同时兼容老版本的xls和新版本的xlsx的库 这样的库可能不太多啊 但应该是可以搜到的追问
不太懂这个库,上传的xls文件用MultipartFile接收,怎么把这个文件保存成xlsx格式的,能用poi吗
追答这个库可以读写两种文件格式
这个代码是我网上搜到的你自己调试
*
* @author jcalfee
*/public class xls2xlsx
/**
* @param args
* @throws InvalidFormatException
* @throws IOException
*/
public static void main(String[] args) throws InvalidFormatException,
IOException
String inpFn = args[0];
String outFn = args[1];
InputStream in = new BufferedInputStream(new FileInputStream(inpFn));
try
Workbook wbIn = new HSSFWorkbook(in);
File outF = new File(outFn);
if (outF.exists())
outF.delete();
Workbook wbOut = new XSSFWorkbook();
int sheetCnt = wbIn.getNumberOfSheets();
for (int i = 0; i rowIt = sIn.rowIterator();
while (rowIt.hasNext())
Row rowIn = rowIt.next();
Row rowOut = sOut.createRow(rowIn.getRowNum());
Iterator cellIt = rowIn.cellIterator();
while (cellIt.hasNext())
Cell cellIn = cellIt.next();
Cell cellOut = rowOut.createCell(
cellIn.getColumnIndex(), cellIn.getCellType());
switch (cellIn.getCellType())
case Cell.CELL_TYPE_BLANK:
break;
。。。多种类型的case
CellStyle styleIn = cellIn.getCellStyle();
CellStyle styleOut = cellOut.getCellStyle();
styleOut.setDataFormat(styleIn.getDataFormat());
cellOut.setCellComment(cellIn.getCellComment());
// HSSFCellStyle cannot be cast to XSSFCellStyle
// cellOut.setCellStyle(cellIn.getCellStyle());
OutputStream out = new BufferedOutputStream(new FileOutputStream(
outF));
try
wbOut.write(out);
finally
out.close();
finally
in.close();
这个for循环代码不完整,有完整的代码吗
追答完整的贴不下 网上很多你可以自己搜
也可以帮写私信
如何将Word文档或xls格式的表格转化成PDF格式?
参考技术Aoffice 2007版以上都支持直接转换,office2017需要下载一个下载项安装即可。
1、打开微软中国官方网站,在网页最下面点击下载中心。
2、跳转到下载的页面,在其中的微软软件中选择Office。
3、然后在新网页中选择点击“2007 Microsoft Office 加载项:Microsoft Save as PDF 或 XPS”。
4、接着新页面中点击下载。
5、下载完成后,双击打开下载好的安装文件“SaveAsPDFandXPS.exe”,一路点击下一步进行安装。
6、打开一个EXCEL,点击另存为,在下方格式中选择PDF,然后点保存。
保存好后,就可以看到刚才的EXCEL已经被完美转换成PDF了。
以上是关于java怎么把xls格式的文件另存为xlsx文件,不能直接改后缀名?的主要内容,如果未能解决你的问题,请参考以下文章