zoukankan      html  css  js  c++  java
  • Java使用POI生成Excel文件后打不开的问题

        在实际的工作中,有时会遇到获取数据后需要存入Excel文件的情况。但是,在生成Excel文件后,发现无法正常打开该文件。

        例如:以当前的时间点为文件名,新生成一个Excel文件。先来看看下面一段代码。

    public class createExcel {public static void main(String[] args) throws IOException {
            Date now=new Date();
            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
            String localname=dateFormat.format(now);
            String xlsxPath = "F:\20190507\"+ localname + ".xlsx";
            Workbook workBook = new XSSFWorkbook();
            OutputStream fos = null;
            try {
                fos = new FileOutputStream(xlsxPath);
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            workBook.write(fos);
            fos.close();
        }
    }

         有经验的同学看出什么问题来了吗?

      这里在相应的路径下会生成Excel文件。但是,双击打开的时候,会出现下面的情形。

     

         导致这个问题的原因是什么呢?

         我们回过头来再看看之前的代码。好像是少了点什么吧。

         我们实际在电脑中点击右键新生成一个Excel文件的时候,这个Excel文件会默认生成3个Sheet。而上面我们使用Java代码来生成Excel的时候,没有新建立Sheet的对象。这样,这个Excel文件中就是没有Sheet的。双击打开的时候就会报这个错误。

          实际上,我们只要在上面的代码中,增加一个Sheet的对象,就可以正常打开Excel了。

    public static void main(String[] args) throws IOException {
           Date now=new Date();
           SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
           String localname=dateFormat.format(now);
           String xlsxPath = "F:\20190507\"+ localname + ".xlsx";
           Workbook workBook = new XSSFWorkbook();
           OutputStream fos = null;
           try {
         //增加一个Sheet的对象 Sheet sheet
    = workBook.createSheet("sheet1"); fos = new FileOutputStream(xlsxPath); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } workBook.write(fos); fos.close(); } }

        这样,即可正常打开Excel了。

  • 相关阅读:
    如何生产兼容性强的自动化测试脚本
    微信小程序和小游戏自动化测试
    如何测试Windows应用程序
    如何在iOS手机上进行自动化测试
    如何在Android手机上进行自动化测试(下)
    如何在Android手机上进行自动化测试(上)
    Poco的介绍和入门教学
    Airtest介绍与脚本入门
    5分钟上手自动化测试——Airtest+Poco快速上手
    Coursera课程笔记----计算导论与C语言基础----Week 4
  • 原文地址:https://www.cnblogs.com/generalli2019/p/12100776.html
Copyright © 2011-2022 走看看