2015-04-21 10:49 1170人阅读 评论(2) 收藏 举报
分类:
Java(34)

版权声明:本文为博主原创文章,未经博主允许不得转载。

这次需要自己写个自用的Excel导出工具:

照着POI的官方文档新建一个Excel文件。

  1. Workbook wb = new XSSFWorkbook();
  2. FileOutputStream fileOut = new FileOutputStream("workbook.xlsx");
  3. wb.write(fileOut);
  4. fileOut.close();
Workbook wb = new XSSFWorkbook();
FileOutputStream fileOut = new FileOutputStream("workbook.xlsx");
wb.write(fileOut);
fileOut.close();

导出的xlsx后缀的Excel文件打开时,Office提示错误,发现“xxx.xlsx”中的部分内容有问题,是否让我们尽量尝试恢复,如果您信任此工作簿的源,请单击“是”。

但是点击了是之后发现提示,Microsoft Excel无法打开或修复此工作簿,因为它已损害。

搜索引擎查不到相关问题问题,文件写出导入了下载的POI里面的所有JAR包。

后面继续写了下去,往工作簿里插入了一张工作表:

  1. Sheet sheet1 = wb.createSheet("new sheet");
Sheet sheet1 = wb.createSheet("new sheet");

然后xlsx文件正常打开了。

其实就是整个Excel文件格式的问题,虽然新建的工作簿,但是里面是一张工作表都没有的,而Office自己新建的时候会默认生成3张工作表,但是自己用编程创建的Excel,Office打开的时候便报错了。

官方文档这样一个New Workbook的介绍确实有点缺陷,应该对应说明。

使用XSSFWork创建的xlsx后缀Excel文件无法打开的更多相关文章

  1. NPOI-Excel系列-1000.创建一个标准的Excel文件

    using NPOI.HSSF.UserModel; using Microsoft.VisualStudio.TestTools.UnitTesting; using System.IO; name ...

  2. excel文件双击打开空白

    excel文件双击打开之后进入软件,没有去读文件 一.现象描述 打开现象如下所示,只有excel模板,看不到excel中的表格模板. 二.想要打开文件 (1)在软件的文件--->打开--> ...

  3. native excel 文件已经打开的判断

    book := TXLSWorkbook.Create; try then begin raise Exception.Create('请检查导入的文件是否存在或Excel已经处于打开状态(如果已经打 ...

  4. Java 加密Excel文件(打开时需输入密码)

    收集:author: lifq package com.XXX.XXX.utils; import java.io.IOException; import com.jxcell.CellExcepti ...

  5. React ant table 用 XLSX 导出excel文件

    近期做了一个react ant design 的table转换成excel 的功能 总结下 首先我们会自己定义下 antdesign 的table的columns其中有可能有多语言或者是render方 ...

  6. java使用POI实现excel文件的读取,兼容后缀名xls和xlsx

    需要用的jar包如下: 如果是maven管理的项目,添加依赖如下: <!-- https://mvnrepository.com/artifact/org.apache.poi/poi --&g ...

  7. Java实现POI读取Excel文件,兼容后缀名xls和xlsx

    1.引入所需的jar包: maven管理项目的话直接添加以下坐标即可: <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -- ...

  8. Spire.XLS,生成Excel文件、加载Excel文件

    一.组件介绍 Spire.XLS是E-iceblue开发的一套基于企业级的专业Office文档处理的组件之一,全称Spire.Office for .NET.旗下有Spire.Doc,Spire XL ...

  9. poi操作oracle数据库导出excel文件2

    package com.test; import java.io.File;  import java.io.FileInputStream;  import java.io.FileNotFound ...

随机推荐

  1. Python编码与解码

    # -*- coding: utf-8 -*- # 直接保存为Python脚本,对照执行结果会好看点. # 实验的内容都是在Python 2.7.x下进行的. # Python3默认采用unicode ...

  2. HighCharts学习笔记

    目录 xAxis自定义时间刻度的显示 xAxis自定义时间刻度 我们先来看下HighCharts图表的xAxis对象有哪些属性(红色标记重要属性): allowDecimals: Booleancat ...

  3. Shell 总结

    find: –name 'filenme' * ? [] ; –iname; –regex PATTERN; –user username; –group; –uid; –gid; –nouser; ...

  4. centos Supervisor

    Supervisor是一个进程监控程序. 满足的需求是:我现在有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断.当进程中断的时候我希望能自动重新启动它,此时,我就需要使用到了 ...

  5. 修改info

      新增Key: NSLocationAlwaysUsageDescription 和 NSLocationWhenInUseUsageDescription ,这两个Key的值将分别用于描述应用程序 ...

  6. javascript_22_for_js控制div每五个换一行

    2. 3. css: <style type="text/css"> div{height: 50px; width: 50px; background: #f1161 ...

  7. 《剑指Offer》- 面试题3

    <剑指Offer——名企面试官精讲典型编程题>  面试题3:  二维数组元素从左到右.从上到下递增,输入一个二维数组和一个整数,  查找该整数. 自己的思路:有序条件下进行查找,当然最简单 ...

  8. PHP中如何给日期加上一个月 加一周 加一天

    echo   date("Y-m-d",strtotime("+1 month",strtotime("2012-02-04"))); 结果 ...

  9. 140304笔记, mysql 更改自动增长字段值的重新设定

    1. 存在同名的或不同的namespace交错情况. Caused by: com.ibatis.sqlmap.client.SqlMapException: There is no result m ...

  10. docker设置代理

    在天朝使用docker需要FQ. 下面给出docker的代理方式: HTTP_PROXY=http://10.167.251.83:8080 docker -d