如果使用的XSSFWorkbook创建的xls,打开的时候会有这样的提示:

这样 XSSFWorkbook 和HSSFWorkbook的区别。

  • 使用POI创建一个新的xlsx,提示创建成功,但是打开xlsx文件的时候,会报错打不开

    代码如下:

    • HSSF - 提供读写Microsoft Excel XLS格式档案的功能。

    • XSSF - 提供读写Microsoft Excel OOXML XLSX格式档案的功能。

    • HWPF - 提供读写Microsoft Word DOC97格式档案的功能。

    • XWPF - 提供读写Microsoft Word DOC2003格式档案的功能。

    • HSLF - 提供读写Microsoft PowerPoint格式档案的功能。

    • HDGF - 提供读Microsoft Visio格式档案的功能。

    • HPBF - 提供读Microsoft Publisher格式档案的功能。

    • HSMF - 提供读Microsoft Outlook格式档案的功能。

    package com.it.poiTest;

    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;

    import org.apache.poi.ss.usermodel.Sheet;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;

    public class CreateWorkBook {
        public static void main(String[] args) {
            //可以表示xls和xlsx格式文件的类
            XSSFWorkbook  workbook = new XSSFWorkbook();
            try {
                FileOutputStream out = new FileOutputStream("createWorkBook.xlsx");
                workbook.write(out);
                out.close();
                System.out.println("createWorkBook success");
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }        
        }
    }

报错是因为,微软offine自己创建一个新的xlsx的时候,会默认的创建三个新的sheet,工作簿.而我们使用程序创建的xlsx默认不会,因此需要我们自己新建的时候,也创建一个sheet,这样就不会错了。

代码改良如下:

package com.it.poiTest;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class CreateWorkBook {
    public static void main(String[] args) {
        //可以表示xls和xlsx格式文件的类
        XSSFWorkbook  workbook = new XSSFWorkbook();
        try {
            //新创建的xls需要新创建新的工作簿,offine默认创建的时候会默认生成三个sheet
            Sheet sheet = workbook.createSheet("first sheet");
            FileOutputStream out = new FileOutputStream("createWorkBook.xlsx");
            workbook.write(out);
            out.close();
            System.out.println("createWorkBook success");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }        
    }
}

使用POI创建Excel无法打开相关推荐

  1. 【poi xlsx报错】使用POI创建xlsx无法打开

    如果使用的XSSFWorkbook创建的xls,打开的时候会有这样的提示: 这样 XSSFWorkbook 和HSSFWorkbook的区别. HSSF - 提供读写Microsoft Excel X ...

  2. POI 创建Excel 2003 (一)

    poi操作excel2003和数据的写入实例 有兴趣的可以继续往下研究首先poi的下载地址 :http://apache.fayea.com/poi/release/bin/自己试了一个例子分享下 官 ...

  3. poi创建excel工作表表名为中文

    POI类库是JAVA平台下操作EXCEL的类库,功能很强大,相信大家都在工作已经使用得很熟练了,这里就不详细介绍了,简单的说, 一个Excel文件的层次:Excel文件->工作表->行-& ...

  4. 解决poi导出Excel文件打开警告(一)

    项目中需要导出Excel报表,使用poi导出Excel文件,添加依赖 <dependency><groupId>org.apache.poi</groupId>&l ...

  5. java POI创建Excel示例(xslx和xsl区别 )

    Java用来处理office类库有很多,其中POI就是比较出名的一个,它是apache的类库,现在版本到了3.10,也就是2014年2月8号这个版本. 在处理PPT,Excel和Word前,需要导入以 ...

  6. poi导出excel无法打开文件

    问题 测试环境发现导出的文件无法正常打开 之前导出能打开 排查 发现poi由3.x升级为4.x 本地后端调试生成excel文件能正常打开,经过浏览器也能下载 初步定位因升级依赖版本,前端需调整 解决 ...

  7. 使用poi 创建Excel 保存到本地并下载

    项目中需要一个提供Excel数据展示下载功能,用于并不是list数据展示,无法通过for来实现.只能通过硬编码实现每一个cell.该Excel数据展示一共用到了四种样式,所以创建了4中style. 最 ...

  8. 解决 java poi 导出Excel 无法打开问题

    下载后的文件打开如下所示 通常一般会去查找poi 相关jar 包问题,但是经过各种排查,同样的poi 版本在其他项目能够正常下载打开,最后发现问题 出现在 HttpServletResponse 上, ...

  9. 使用Apache下poi创建和读取excel文件

    一:使用apache下poi创建excel文档 1 @Test 2 /* 3 * 使用Apache poi创建excel文件 4 */ 5 public void testCreateExcel() ...

最新文章

  1. 50年前的登月程序和程序员有多硬核?
  2. ios开发常识(1)开发语言和参考资料
  3. mysql的连接leftjion,mysql的表连接(left|right)join
  4. angular 触发 enter事件
  5. js 提取某()特殊字符串长度
  6. 高程(三)笔记---- 第三章
  7. Linux创始人数据结构,Linux 通用数据结构说明
  8. Pycharm代码格式化快捷键及其设置方法
  9. matlab动力学仿真_机械系统动力学MATLAB仿真(上)
  10. 有序数组转换为二叉搜索树
  11. matlab2c使用c++实现matlab函数系列教程-unique函数
  12. mysql sql优化与调优机制详解_MySQL性能调优——锁定机制与锁优化分析详解
  13. LaTex数学符号公式
  14. 华为C语言编程规范(整理)
  15. 关于我玩单片机学习路线(个人总结)
  16. cubieboard
  17. 中国人民大学与加拿大女王大学金融硕士让你在疫情下的学习有更多的选择
  18. LinuxProbe 0x21 使用Ansible服务实现自动化运维
  19. “百度杯”CTF比赛 九月场--web Upload
  20. 玩转“数独”2.0时代

热门文章

  1. python空间点赞_用Python登录好友QQ空间点赞的示例代码
  2. 孢子社群:今日推荐ARVR微信群:游乐VR智能
  3. 迷宫生成与路径规划算法-Python3.8-附Github代码
  4. 汇兑损益中间科目,系统情况
  5. java拆分list_Java 8 stream 流 拆分list
  6. 三位代表中国科技圈的85后技术男,他们眼中的AI是什么?
  7. 中国海洋捕捞市场投资前景分析及“十四五”规划建议报告2022年版
  8. java web开发常见问题_javaWeb开发中常见的问题
  9. 【OVS2.5.0源码分析】mirror实现原理(1)
  10. JavaScript中的垃圾回收和内存泄漏