<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    乖,別哭的薄殼
    ~一份耕耘,一份收獲~
    posts - 23,comments - 260,trackbacks - 0

    有時候我們會需要做excel的報表,下面這個例子詳細的給出了讀寫及定義樣式的方法。
    (jexcel下載)
    package com.test;

    import java.io.File;
    import java.io.IOException;

    import jxl.Cell;
    import jxl.Sheet;
    import jxl.Workbook;
    import jxl.format.Border;
    import jxl.format.BorderLineStyle;
    import jxl.format.Colour;
    import jxl.read.biff.BiffException;
    import jxl.write.Label;
    import jxl.write.WritableCellFormat;
    import jxl.write.WritableFont;
    import jxl.write.WritableSheet;
    import jxl.write.WritableWorkbook;
    import jxl.write.WriteException;
    import jxl.write.biff.RowsExceededException;

    /**
    ?*
    ?* CopyRight (C) www.tkk7.com/ilovezmh? All rights reserved.<p>
    ?*
    ?* WuHan Inpoint Information Technology Development,Inc.<p>
    ?*
    ?* Author zhu<p>
    ?*
    ?* @version 1.0??? 2007-2-6
    ?*
    ?* <p>Base on : JDK1.5<p>
    ?*
    ?*/

    public class JexcelSample {
    ?
    ?/**
    ? * 寫excel文件
    ? *
    ? */
    ?public void writeExc(File filename){
    ??WritableWorkbook wwb = null;
    ??try
    ??{
    ???wwb = Workbook.createWorkbook(filename); ??
    ??}
    ??catch (Exception e){
    ???e.printStackTrace();
    ??}
    ??
    ??//創建Excel工作表
    ??WritableSheet ws = wwb.createSheet("通訊錄", 0);//創建sheet
    ??try {
    ???ws.mergeCells(0, 0, 2, 1);//合并單元格(左列,左行,右列,右行)從第1行第1列到第2行第3列
    ???Label header = new Label(0, 0, "通訊錄(191026班)", getHeader());
    ???ws.addCell(header);//寫入頭
    ???Label l = new Label(0, 2, "姓名", getTitle());//第3行
    ???ws.addCell(l);
    ???l = new Label(1, 2, "電話", getTitle());
    ???ws.addCell(l);
    ???l = new Label(2, 2, "地址", getTitle());
    ???ws.addCell(l);
    ???l = new Label(0, 3, "小祝", getNormolCell());//第4行
    ???ws.addCell(l);
    ???l = new Label(1, 3, "1314***0974", getNormolCell());
    ???ws.addCell(l);
    ???l = new Label(2, 3, "武漢武昌", getNormolCell());
    ???ws.addCell(l);
    ???l = new Label(0, 4, "小施", getNormolCell());//第5行
    ???ws.addCell(l);
    ???l = new Label(1, 4, "1347***5057", getNormolCell());
    ???ws.addCell(l);
    ???l = new Label(2, 4, "武漢武昌", getNormolCell());
    ???ws.addCell(l);
    ???ws.setColumnView(0,20);//設置列寬
    ???ws.setColumnView(1,20);
    ???ws.setColumnView(2,40);
    ???ws.setRowView(0,400);//設置行高
    ???ws.setRowView(1,400);
    ???ws.setRowView(2,500);
    ???ws.setRowView(3,500);
    ???ws.setRowView(4,500);
    ??} catch (RowsExceededException e1) {
    ???e1.printStackTrace();
    ??} catch (WriteException e1) {
    ???e1.printStackTrace();
    ??}
    ??
    ??//輸出流
    ??try {
    ???wwb.write();
    ??} catch (IOException ex) {
    ???// TODO 自動生成 catch 塊
    ???ex.printStackTrace();
    ??}
    ??//關閉流
    ??try {
    ???wwb.close();
    ??} catch (WriteException ex) {
    ???// TODO 自動生成 catch 塊
    ???ex.printStackTrace();
    ??} catch (IOException ex) {
    ???// TODO 自動生成 catch 塊
    ???ex.printStackTrace();
    ??}
    ??//outStream.close();
    ??System.out.println("寫入成功!\n");
    ?}
    ?
    ?public void readExc(File filename) throws BiffException, IOException{

    ??? Workbook wb = Workbook.getWorkbook(filename);
    ??? Sheet s = wb.getSheet(0);//第1個sheet
    ??? Cell c = null;
    ??? int row = s.getRows();//總行數
    ??? int col = s.getColumns();//總列數
    ??? for(int i=0;i<row;i++){
    ???? for(int j=0;j<col;j++){
    ????? c = s.getCell(j,i);
    ????? System.out.print(c.getContents()+"? ");
    ???? }
    ???? System.out.println();
    ??? }??
    ?}
    ?
    ?/**
    ? * 設置頭的樣式
    ? * @return
    ? */
    ?public static WritableCellFormat getHeader(){
    ??WritableFont font = new? WritableFont(WritableFont.TIMES, 24 ,WritableFont.BOLD);//定義字體
    ??try {
    ???font.setColour(Colour.BLUE);//藍色字體
    ??} catch (WriteException e1) {
    ???// TODO 自動生成 catch 塊
    ???e1.printStackTrace();
    ??}
    ??WritableCellFormat format = new? WritableCellFormat(font);
    ??try {
    ???format.setAlignment(jxl.format.Alignment.CENTRE);//左右居中
    ???format.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);//上下居中
    ???format.setBorder(Border.ALL,BorderLineStyle.THIN,Colour.BLACK);//黑色邊框
    ???format.setBackground(Colour.YELLOW);//黃色背景
    ??} catch (WriteException e) {
    ???// TODO 自動生成 catch 塊
    ???e.printStackTrace();
    ??}
    ??return format;
    ?}
    ?
    ?/**
    ? * 設置標題樣式
    ? * @return
    ? */
    ?public static WritableCellFormat getTitle(){
    ??WritableFont font = new? WritableFont(WritableFont.TIMES, 14);
    ??try {
    ???font.setColour(Colour.BLUE);//藍色字體
    ??} catch (WriteException e1) {
    ???// TODO 自動生成 catch 塊
    ???e1.printStackTrace();
    ??}
    ??WritableCellFormat format = new? WritableCellFormat(font);
    ??
    ??try {
    ???format.setAlignment(jxl.format.Alignment.CENTRE);
    ???format.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
    ???format.setBorder(Border.ALL,BorderLineStyle.THIN,Colour.BLACK);
    ??} catch (WriteException e) {
    ???// TODO 自動生成 catch 塊
    ???e.printStackTrace();
    ??}
    ??return format;
    ?}
    ?
    ?/**
    ? * 設置其他單元格樣式
    ? * @return
    ? */
    ?public static WritableCellFormat getNormolCell(){//12號字體,上下左右居中,帶黑色邊框
    ??WritableFont font = new? WritableFont(WritableFont.TIMES, 12);
    ??WritableCellFormat format = new? WritableCellFormat(font);
    ??try {
    ???format.setAlignment(jxl.format.Alignment.CENTRE);
    ???format.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
    ???format.setBorder(Border.ALL,BorderLineStyle.THIN,Colour.BLACK);
    ??} catch (WriteException e) {
    ???// TODO 自動生成 catch 塊
    ???e.printStackTrace();
    ??}
    ??return format;
    ?}
    ?
    ?public static void main(String[] args) throws IOException, BiffException{
    ??JexcelSample js = new JexcelSample();
    ??File f = new File("D:\\address.xls");
    ??f.createNewFile();
    ??js.writeExc(f);
    ??js.readExc(f);
    ?}

    }

    生成的excel表格如下:

    posted on 2007-02-06 13:21 小祝 閱讀(9223) 評論(1)  編輯  收藏 所屬分類: java技術

    FeedBack:
    # re: 用jexcel讀寫excel的.xls文件的例子[未登錄]
    2007-04-17 11:18 |
    挺好  回復  更多評論
      
    主站蜘蛛池模板: 亚洲国产成人久久精品大牛影视| 亚洲色大成网站www| 亚洲欧美日韩久久精品| 国产在线精品免费aaa片| www.亚洲色图.com| 亚洲在成人网在线看| 在线观看免费无码专区| 青青草原亚洲视频| 亚洲爆乳无码精品AAA片蜜桃| 最近最新中文字幕完整版免费高清 | 亚洲中文字幕AV每天更新| 中文字幕免费高清视频| 亚洲国产人成在线观看69网站| 毛片在线全部免费观看| 亚洲国产AV无码专区亚洲AV| 久久精品国产这里是免费| 亚洲国产精品无码av| 国产精品免费AV片在线观看| 亚洲精品乱码久久久久久下载| 99久久这里只精品国产免费| 亚洲国产精品一区二区第四页| 曰韩无码AV片免费播放不卡 | 国产一区二区免费视频| 日本亚洲成高清一区二区三区 | 亚洲av综合av一区| 中文字幕av免费专区| 亚洲国产精品特色大片观看完整版| 99热在线观看免费| 亚洲男人天堂av| 真人做人试看60分钟免费视频 | 亚洲偷自精品三十六区| 妞干网手机免费视频| 国产综合激情在线亚洲第一页| 国产亚洲一区区二区在线| 国产亚洲精品免费视频播放| 亚洲欧洲日产专区| h视频在线免费看| 亚洲日韩在线观看免费视频| 黄网站免费在线观看| 亚洲另类自拍丝袜第1页| 在线免费观看毛片网站|