【Java POI】一、Java POI的使用

不少時候,一個軟件應用程序須要生成Microsoft Excel文件格式的報告。有時,一個應用程序甚至但願將Excel文件做爲輸入數據。例如,一個公司開發的應用程序將財務部門須要全部輸出生成本身的Excel。html

任何Java程序員願意將MS Office文件的輸出,可使用預約義和只讀API來作到。程序員

什麼是Apache POI?

Apache POI是一種流行的API,它容許程序員使用Java程序建立,修改和顯示MS Office文件。這由Apache軟件基金會開發使用Java分佈式設計或修改Microsoft Office文件的開源庫。它包含類和方法對用戶輸入數據或文件到MS Office文檔進行解碼。分佈式

Apache POI組件

Apache POI包含類和方法,來將MS Office全部OLE 2文檔複合。此API組件的列表以下。字體

  • POIFS (較差混淆技術實現文件系統) : 此組件是全部其餘POI元件的基本因素。它被用來明確地讀取不一樣的文件。spa

  • HSSF (可怕的電子表格格式) : 它被用來讀取和寫入MS-Excel文件的xls格式。設計

  • XSSF (XML格式) : 它是用於MS-Excel中XLSX文件格式。htm

  • HPSF (可怕的屬性設置格式) : 它用來提取MS-Office文件屬性設置。對象

  • HWPF (可怕的字處理器格式) : 它是用來讀取和寫入MS-Word的文檔擴展名的文件。開發

  • XWPF (XML字處理器格式) : 它是用來讀取和寫入MS-Word的docx擴展名的文件。文檔

  • HSLF (可怕的幻燈片版式格式) : 它是用於讀取,建立和編輯PowerPoint演示文稿。

  • HDGF (可怕的圖表格式) : 它包含類和方法爲MS-Visio的二進制文件。

  • HPBF (可怕的出版商格式) : 它被用來讀取和寫入MS-Publisher文件。

接下來主要介紹HSSF組件的使用,直接上代(gan)碼(huo)

1、經常使用設置

// 生成Excel表格
HSSFWorkbook workBook = new HSSFWorkbook();

//新建sheet

HSSFSheet sheet = workBook.createSheet();

//設置列寬度自適應,i爲列的序號,從零開始

for (int i = 0; i < colId; i++) {
sheet.autoSizeColumn(i, true);
}

// 定義樣式
HSSFCellStyle contentStyle = workBook.createCellStyle();
HSSFFont contentFont = workBook.createFont(); // 定義字體
contentFont.setFontName("微軟雅黑");//設置字體
contentFont.setFontHeightInPoints((short) 10);//設置字號
contentFont.setBold(true);//設置加粗
contentFont.setColor(HSSFColor.WHITE.index);//設置字體顏色
contentStyle.setFont(contentFont);
contentStyle.setAlignment(HorizontalAlignment.CENTER);//左右居中
contentStyle.setVerticalAlignment(VerticalAlignment.CENTER);//垂直居中

HSSFCellStyle contentStyleTemp = workBook.createCellStyle();
contentStyleTemp.cloneStyleFrom(contentStyle);//克隆樣式
contentStyleTemp.setFillForegroundColor(HSSFColor.HSSFColorPredefined.ROYAL_BLUE.getColor().getIndex());//背景色設置

2、自定義顏色

HSSFPalette 提供了兩種方式來自定義顏色:

    1, 修改已經存在的顏色對象的RGB值

       代碼以下,將ORANGE的顏色值修改成(255,204,153)

      HSSFPalette customPalette = workbook.getCustomPalette();  

      customPalette.setColorAtIndex(HSSFColor.ORANGE.index, (byte) 255, (byte) 204, (byte) 153);  

      在修改後,再設置顏色爲ORANGE時,將使用修改後的顏色值.

 

    2, 經過RGB值添加一個顏色(有必定的限制)

        代碼以下, 添加一個顏色(153,204,255),返回一個HSSFColor對象.

       HSSFPalette customPalette = workbook.getCustomPalette();

       HSSFColor newColor = customPalette.addColor((byte) 153, (byte) 204, (byte) 255);  

        這樣就獲得新的顏色對象newColor,可以使用之. (第2種方法的限制是在 使用時必需要有newColor對象的引用才行,而第1種方式則沒這限制)

相關文章
相關標籤/搜索