le fichier xlsx créé dans mon code java ne s'ouvre pas dans ms Excel, indique que le format de fichier ou l'extension de fichier n'est pas valide


J'ai un code java pour créer un fichier Excel et cela fonctionne bien pour les extensions .xls et .xlsx je suis capable d'ouvrir .fichier xls mais impossible d'ouvrir l'extension de fichier .xlsx dans ms Excel et il dit Excel ne peut pas ouvrir l'échantillon.xlsx fichier parce que le format du fichier ou l'extension de fichier n'est pas valide. Vérifiez que le fichier n'a pas été endommagé et que l'extension du fichier correspond au format du fichier.

Ci-dessous est mon code java que j'ai utilisé.

HSSFWorkbook workBook = new HSSFWorkbook();
String file = "D:/sample.xlsx";
FileOutputStream fos = new FileOutputStream(file);
workBook.write(fos);
fos.flush();   

Je suis allé à travers le lien ci-dessous qui semblait avoir un problème similaire mais je n'ai pas trouvé la réponse ainsi soulevée ici comme nouvelle question.
Le fichier Excel D'Apache POI Ne peut pas être ouvert par Ms Excel (corrompu)

Author: mannedear, 2018-01-12

1 answers

Si vous essayez de créer un fichier Excel avec le .xlsx extension, vous devez utiliser le XSSFWorkbook. Je suggère de lire this pour comprendre la différence entre les objets XSSFWorkbook et HSSFWorkbook.

De plus, vous pouvez utiliser la documentation ici pour comprendre comment créer un nouveau fichier Excel à l'aide d'Apache POI.

Essentiellement, vous allez faire ceci:

Workbook wb = new XSSFWorkbook();
Sheet sheet1 = wb.createSheet("new sheet");
FileOutputStream fileOut = new FileOutputStream("workbook.xlsx");
wb.write(fileOut);
fileOut.close();
 4
Author: Francis Bartkowiak, 2018-08-01 16:13:54