最近有需求弄到這方面的東西
因此就順便來做個紀錄吧~
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();
}
}
}
成品:
有空再來寫一篇讀取的範例
程式碼有一部份被截到了
就請麻煩複製全部在自己貼去看摟~
留言列表