1. 程式人生 > >使用POI建立Excel無法開啟

使用POI建立Excel無法開啟

如果使用的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無法開啟

如果使用的XSSFWorkbook建立的xls,開啟的時候會有這樣的提示: 這樣 XSSFWorkbook 和HSSFWorkbook的區別。 使用POI建立一個新的xlsx,提示建立成功,但是開啟xlsx檔案的時候,會報錯打不開 程式碼

phpexcel匯出excel無法開啟,提示檔案格式或檔名無效,檔案損毀,解決辦法

使用過很多次phpexcel了,有時需要儲存檔案到磁碟,有時需要瀏覽器彈出下載。儲存到磁碟一半不會出現問題,關鍵是瀏覽器彈出儲存,經常會發生匯出的excel檔案無法開啟,提示檔案格式或檔名無效,檔案損毀。在此,記錄一下解決辦法。 1、xls還是xlsx?首先確定匯出的excel副檔名 2、新

Excel 無法開啟檔案“新建 Microsoft Excel 工作表.xlsx”,因為檔案格式或副檔名無效

在桌面右鍵新建Excel(Excel2010或者Excel2016),不管是Excel97-2003版本還是Excel版本,開啟都報這個錯誤: 經過了解發現,可能與之前安裝過WPS有關,現在WPS已經解除安裝。 打算按照日誌的介紹的方式去修改,查了一下發現offi

Poi建立Excel(入門級)

      通過Poi操作Excel十分方便,將一個Excel抽象為一個Workbook,一個表單頁抽象為Sheet,表單中的一行抽象為Row,一行中的一個單元格可以抽象為Cell。HSSF對應的是97-03格式(.xls),XSSF對應的是07格式的(.xlsx)。   

poi建立excel檔案時,生成單元格下拉選

最近在專案中使用poi建立excel檔案時,需要生成單元格下拉選。 下面是一個demo,註釋比較清楚,以此參考。 package poi; import java.io.FileOutputStream; import org.apache.poi.hssf.user

java使用POI建立Excel工作薄

   最近做的一個專案中涉及到了在程式中生成excel文件的功能,以前也做過。在做的這些專案中使用的方法很多,幾乎每一次 方法都不一樣。最簡單的是直接用jsp把jsp的檔案響應的內容型別給改成application/x-msexcel,這樣來對付那些小而簡單的excel檔案是

使用XSSFWork建立的xlsx字尾Excel檔案無法開啟

總結一下:空excel需要建一個sheet 這次需要自己寫個自用的Excel匯出工具: 照著POI的官方文件新建一個Excel檔案。 Workbook wb = new XSSFWorkbook(); FileOutputStream fileOut

使用 POI建立一個簡單的 Excel 檔案

初級程式設計師一枚,看到公司大佬寫的生成Excel檔案,做下記錄,同時也分享給大家參考   ·······································實現原理是用workBook 然後還有OutputStream 首先是一個ExcelDataBean 這個實體類

64位word2013 Excel 2013提示記憶體不足,PowerPoint 2013無法開啟檔案的一個解決方案

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

poi 元件建立Excel

import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import

VS建立Qt專案時,Include提示錯誤:無法開啟原始檔

我使用的版本 是VS2010 和 Qt5.5.1 新建專案時顯示瞭如下錯誤,但是並不影響編譯 解決方案: 右擊解決方案 —>屬性(到達專案屬性頁面)—>配置屬性(左側) —>C/C++ —> 常規—> 附加包含目錄。 將Qt的Incl

VMWare低版本無法開啟高版本建立的虛擬機器解決方案

created by a VMware product that is incompatible with this version of VMware 我使用version 8 的虛擬機器開啟

Java POI寫入Excel關於公式無法計算的問題

最近接到一個需求,用Java寫資料到excel,遇到一些問題,在這裡請教一下大家。   首先,我這個是在原有的excel上做修改;   我的excel有兩個sheet,在sheet2中會有引用到sheet1中單元格的求和函式;   我寫資料到sheet1(寫入成功了

ORACLE 11g 建立資料庫時 Enterprise Manager配置失敗的解決辦法 無法開啟ORACLE企業管理器(EM)的解決辦法

環境:win7 64位系統、 軟體:oracle11g database ,oracle 10g client 。 問題描述:在win7 64位系統下安裝oracle11g,在建立資料庫時,進度到85%的時候報錯,錯誤如下: 根據提示去emConfig.log檔案檢視日誌檔案,然後手動去D:\app

VMware低版本無法開啟高版本建立的虛擬機器

created by a VMware product that is incompatible with this version of VMware 我使用version 9 的虛擬機器開啟 version 10 的建立的虛擬機器系統 丟擲錯誤資訊: The con

arcgis 無法開啟excel檔案 提示 無法註冊類

對於ArcGIS Desktop 對 office 版本的支援情況 ArcGIS 支援 : Excel 2003 以及更早版本的 .xls 檔案;Excel 2007 的 .xlsx 檔案。為什麼要分開說呢? *.xls 檔案可以直接在ArcGIS中以只讀的形式開啟,例

POI匯出Excel設定單元格格式2--建立與設定Excel合併單元格

POI建立與設定Excel合併單元格 話不多說上栗子 //準備工作 XSSFWorkbook wb = new XSSFWorkbook(); Sheet sheet = wb.createSheet("sheet1"); XSSFCreationHelper creationHel

在VS2017環境下Qt讀寫Excel遇到"無法開啟 源 檔案 'QAxObject'"的錯誤解決辦法

問題: 無法開啟 源 檔案 "QAxObject" 解決辦法: 1、右擊工程 -> 點選 "Create Basic .pro File" 生成一個 .pro 檔案 2、在Resources資料夾裡面找到生成的 .pro 檔案,編輯生成的 .pro 檔案內容,在其

小議:SharePoint 2016建立My Site無法開啟的解決方案

今天在先前部署的SharePointServer 2016(Version:16.0.4316.1217,Beta版本)的環境上建立了My Site,計劃對比一下新版本的SharePoint在功

Java使用POI操作Excel建立下拉框

java建立 package poiexcel;   import java.io.FileOutputStream;   import java.util.Date;   import org