在現實的辦公中,我們常常會有這樣一個要求:要求把報表直接用excel開啟。在實習中有這樣一個需求。根據所選擇的資源查詢使用者所提供附件的全部資訊並產生excel供下載。但是在查詢的時候我們需要來檢測使用者所提供的附件裡面的資訊是否有錯誤(身份證)。有錯誤的建置錯誤資訊excel。
Apache的POI項目,是目前比較成熟的HSSF介面,用來處理Excel對象。其實POI不僅僅只能處理excel,它還可以處理word、PowerPoint、Visio、甚至Outlook。
這裡我先介紹利用POI如何產生excel。
首先在產生Excel前,我們需要理解一下Excel檔案的組織形式。在POI中,是這樣理解的:一個Excel檔案對應一個workbook,一個workerbook是有若干個sheet組成的。一個sheet有多個row,一個row一般存在多個cell。
對於上面的四個名詞我們可以在下圖理解
對於產生Excel,POI提供了如下幾個基本對象:
HSSFWorkbook excel 的文檔對象
HSSFSheet excel 的表單
HSSFRow excel 的行
HSSFCell excel 的格子單元
從上面的圖片和Excel的組織圖,我們就可以明白建立Excel的步驟。
1、產生文檔對象HSSHWorkbook。
2、通過HSSFWorkbook產生表單HSSFSheet。
3、通過HSSFSheet產生行HSSFRow
4、通過HSSFRow產生儲存格HSSFCell。
下面是展示代碼:
身份證錯誤Bean(ErrorCondition.java)
[java] view plain copy print ? /** *@Project: excel *@Author: chenssy *@Date: 2013-4-4 *@Copyright: chenssy All rights reserved. */ public class ErrorCondition { private String name; // 姓名 private String idCard; // 身份證 private String status; // 錯誤狀態 private String message; // 錯誤資訊 ErrorCondition(String name,String idCard,String status,String message){ this.name = name; this.idCard = idCard; this.status = status; this.message = message; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getIdCard() { return idCard; } public void setIdCard(String idCard) { this.idCard = idCard; } public String getStatus() { return status; }