標籤:不同 create 方法 複合 不同的 檔案 microsoft rom 樣式
很多時候,一個軟體應用程式需要產生Microsoft Excel檔案格式的報告。有時,一個應用程式甚至希望將Excel檔案作為輸入資料。例如,一個公司開發的應用程式將財務部門需要所有輸出產生自己的Excel。
任何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元件的基本因素。它被用來明確地讀取不同的檔案。
HSSF (可怕的試算表格式) : 它被用來讀取和寫入MS-Excel檔案的xls格式。
XSSF (XML格式) : 它是用於MS-Excel中XLSX檔案格式。
HPSF (可怕的屬性設定格式) : 它用來提取MS-Office檔案屬性設定。
HWPF (可怕的文書處理器格式) : 它是用來讀取和寫入MS-Word的文檔副檔名的檔案。
XWPF (XML文書處理器格式) : 它是用來讀取和寫入MS-Word的docx副檔名的檔案。
HSLF (可怕的投影片版式格式) : 它是用於讀取,建立和編輯PowerPoint簡報。
HDGF (可怕的圖表格式) : 它包含類和方法為MS-Visio的二進位檔案。
HPBF (可怕的出版商格式) : 它被用來讀取和寫入MS-Publisher檔案。
接下來主要介紹HSSF組件的使用,直接上代(gan)碼(huo)一、常用設定
// 產生Excel表格
HSSFWorkbook workBook = new HSSFWorkbook();
//建立sheet
HSSFSheet sheet = workBook.createSheet();
sheet.autoSizeColumn(1, 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());//背景色設定
二、自訂色彩
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種方式則沒這限制)
【Java POI】1、Java POI的使用