Excel говорит: "Файл Excel не является допустимым расширением или типом файла..."
Я использую apache.poi для создания файла Excel, но когда я генерирую его с помощью простого кода Java, когда пытаюсь открыть его в Microsoft Excel, он говорит, что этот файл нельзя открыть, поскольку мой формат или расширение файла недопустимо.
Я использую последнюю версию ПО и 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);
}
}
Я его строю, работает нормально, но делает неправильный файл! Что я мог сделать не так?
2 ответа
Вы должны использовать как это.
Workbook workbook = new XSSFWorkbook();
// <--- для создания файла Geek.xlsx
Workbook workbook = new HSSFWorkbook();
// <--- для создания файла Geek.xls
По крайней мере, если кто-то сталкивался с этой проблемой, я решил проблему с изменением расширения файла в java-коде с расширением *.xls (этот тип формата - более старый тип файлов Excel), и это выглядит как очарование.
Ui: Спасибо Ави Мельцер