java - Excel 说:“Excel 文件不是有效的文件扩展名或格式类型......”
问题描述
我正在使用 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);
}
}
我构建了它,工作正常,但它生成了一个错误的文件!我可能做错了什么?
解决方案
你必须像这样使用。
Workbook workbook = new XSSFWorkbook();
// <--- 用于创建 Geek.xlsx 文件
Workbook workbook = new HSSFWorkbook();
// <--- 用于创建 Geek.xls 文件
推荐阅读
- javascript - Javascript 使用过滤器问题过滤对象数组
- haskell - 模式匹配是多余的,haskell
- sharepoint - 将 Power BI 连接到 SharePoint
- ansible - 使用 ansible-vault 部署敏感数据
- json - 如何反序列化 JSON 并将特定的字符串值对序列化为不同的 JSON?
- elasticsearch - Logstash:错误:尝试运行 logstash.bat 时无法找到或加载主类堆栈
- python - xy 在 txt 文件的一行中出现的频率是多少?在 Python 中
- excel - VBA Find .address 有时返回范围,有时返回单元格
- node.js - catch(err) 给出错误但不在节点 express js 的异步函数中返回对象数据
- c# - 防止 AuthenticationState 删除添加到 ClaimsPrincipal 的声明