close

最近有需求弄到這方面的東西

因此就順便來做個紀錄吧~

API下載

https://sourceforge.net/projects/jexcelapi/files/jexcelapi/

 

首先先來寫如何建立一個excel檔

1. 建立Workbook

也就是整份的Excel檔案,可指定檔名。

  WritableWorkbook workbook = Workbook.createWorkbook(new File("test.xls"));

 

2. 建立Sheet

也就是每個Excel檔案下面可以跳tag的sheet表。

  WritableSheet sheet = workbook.createSheet("My Sheet", 0);

第一個參數是sheet name,第二個參數是第幾張sheet,從0開始。

 

3. 設定Cell格式(可省略,就會是預設的格式)

Cell就是我們在Excel中看到的一格一格的那個就叫做Cell

字型部分我們必須先另外設定,如下

  WritableFont myFont = new WritableFont(WritableFont.createFont("標楷體"), 14);
  myFont.setColour(Colour.WHITE);

再設定Cell的格式,如下

  WritableCellFormat cellFormat = new WritableCellFormat ();

  cellFormat.setFont(myFont); // 指定字型

  cellFormat.setBackground(Colour.LIGHT_BLUE); // 背景顏色

  cellFormat.setAlignment(Alignment.CENTRE); // 對齊方式

 

4. 增加一個文字儲存格Cell

  Label label = new Label(0, 1, "新增", cellFormat);

  sheet.addCell(label); 

第一個和第二個參數為儲存格位址,(0,1)表示第一行(直) 第二列(橫)的位置,都是從0開始計算。

第三個參數就是儲存格的內容

第四個參數就是儲存格的格式,這邊我給它我們上面所設定的格式,如果不想設定可不填

5. 寫入及結束文件

workbook.write();
workbook.close();

最後要把我們剛剛所做的事情都寫入再關閉就完成了。

以下是完整程式碼

   import java.io.IOException;
   import java.io.File;
   import jxl.Workbook;
   import jxl.format.Alignment;
   import jxl.format.Colour;
   import jxl.write.Label;
   import jxl.write.WritableCellFormat;
   import jxl.write.WritableFont;
   import jxl.write.WritableSheet;
   import jxl.write.WritableWorkbook;
   import jxl.write.WriteException;
    
   public class test {
       public static void main(String[] arge) {
           try {
               WritableWorkbook workbook = Workbook.createWorkbook(new File(
                       "test.xls"));
               WritableSheet sheet = workbook.createSheet("My Sheet", 0);
               
               WritableFont myFont = new WritableFont(WritableFont.createFont("標楷體"), 14);        
               myFont.setColour(Colour.WHITE);            
               WritableCellFormat cellFormat = new WritableCellFormat();
               
               cellFormat.setFont(myFont); // 指定字型
               cellFormat.setBackground(Colour.LIGHT_BLUE); // 背景顏色
               cellFormat.setAlignment(Alignment.CENTRE); // 對齊方式
               
               Label label = new Label(0, 1, "新增測試", cellFormat);
               sheet.addCell(label);
               
               workbook.write(); 
               workbook.close();
               
           } catch (IOException e) {
               e.printStackTrace();
           } catch (WriteException e) {
               e.printStackTrace();
           }
    
       }
   }
 
成品:
 
z111111111111111

 

 

 

有空再來寫一篇讀取的範例

程式碼有一部份被截到了

就請麻煩複製全部在自己貼去看摟~

arrow
arrow
    全站熱搜

    qaz33326 發表在 痞客邦 留言(7) 人氣()