<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) m.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 小祝 閱讀(9207) 評論(1)  編輯  收藏 所屬分類: java技術

    FeedBack:
    # re: 用jexcel讀寫excel的.xls文件的例子[未登錄]
    2007-04-17 11:18 |
    挺好  回復  更多評論
      
    主站蜘蛛池模板: 久久免费99精品国产自在现线| 鲁啊鲁在线视频免费播放| 日本人的色道免费网站| 亚洲av无码成人影院一区| 亚洲国产日韩在线观频| 5g影院5g天天爽永久免费影院| 中文字幕无码精品亚洲资源网久久 | 99re6在线精品免费观看| 亚洲一区二区三区首页| 国产在线观看免费不卡| 麻豆精品不卡国产免费看| 久久精品国产亚洲av麻豆蜜芽| 亚洲精品国自产拍在线观看| 1a级毛片免费观看| 丰满亚洲大尺度无码无码专线 | 99精品全国免费观看视频| g0g0人体全免费高清大胆视频| 亚洲成av人片在线看片| 免费在线一级毛片| 亚洲高清免费在线观看| 一级毛片高清免费播放| 亚洲综合激情五月色一区| 国产AV无码专区亚洲AV毛网站| 国产精品免费综合一区视频| 88av免费观看| 一级白嫩美女毛片免费| 亚洲无人区码一二三码区别图片| 人人狠狠综合久久亚洲婷婷| 免费人成视频在线观看视频 | 亚洲AV无码久久精品蜜桃| 国产大片51精品免费观看| 成人福利免费视频| 女人体1963午夜免费视频| 美女裸体无遮挡免费视频网站| 亚洲短视频在线观看| 久久亚洲成a人片| 国产亚洲情侣一区二区无| 免费A级毛片在线播放不收费| 亚洲中文无码永久免费| 久视频精品免费观看99| 毛片免费在线观看|