我正在使用apache.poi制作一个excel文件,但是当我尝试使用Microsoft Excel打开时使用简单的Java代码生成它时,它说无法打开此文件,因为我的文件格式或扩展名是无效。
我正在使用最新的poi和Micrisoft Office 2019 32位。
package com.company;
import java.io.*;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
public class Main {
public static void main(String[] args) throws FileNotFoundException, IOException{
Workbook wb = new HSSFWorkbook();
// An output stream accepts output bytes and sends them to sink.
OutputStream fileOut = new FileOutputStream("Geek.xlsx");
// Creating Sheets using sheet object
Sheet sheet1 = wb.createSheet("Array");
Sheet sheet2 = wb.createSheet("String");
Sheet sheet3 = wb.createSheet("LinkedList");
Sheet sheet4 = wb.createSheet("Tree");
Sheet sheet5 = wb.createSheet("Dynamic Programing");
Sheet sheet6 = wb.createSheet("Puzzles");
System.out.println("Sheets Has been Created successfully");
wb.write(fileOut);
}
}
我构建了它,可以正常工作,但是文件错误!我可能做错了什么?
答案 0 :(得分:2)
您必须像这样使用。
Workbook workbook = new XSSFWorkbook();
// <---用于创建Geek.xlsx文件
Workbook workbook = new HSSFWorkbook();
// <---用于创建Geek.xls文件
答案 1 :(得分:0)
至少如果有人遇到这个问题,我已经解决了使用* .xls扩展名更改Java代码中文件扩展名的问题(此格式类型是较早的excel文件类型),它看起来很迷人。
U.i .:谢谢Avi Meltser