<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 |
    挺好  回復  更多評論
      
    主站蜘蛛池模板: 免费人成网站7777视频| 久久国产免费观看精品3| 久久亚洲精品11p| 久久乐国产综合亚洲精品| 亚洲人成在线播放网站岛国| 亚洲精品一级无码中文字幕| 亚洲A丁香五香天堂网| 在线a亚洲v天堂网2018| www.91亚洲| 日韩精品电影一区亚洲| 亚洲性日韩精品一区二区三区 | 亚洲GV天堂GV无码男同| 亚洲精品一二三区| 亚洲私人无码综合久久网| 亚洲午夜无码久久久久小说| 亚洲欧洲无卡二区视頻| 亚洲精品无码久久久久牙蜜区| 久久精品国产亚洲av品善| 精品久久久久久久久亚洲偷窥女厕| 99亚洲乱人伦aⅴ精品| 无遮挡a级毛片免费看| 一级人做人a爰免费视频 | 亚洲妇女水蜜桃av网网站| 亚洲1234区乱码| 亚洲精品美女久久7777777| 精品亚洲视频在线| 一区二区三区免费在线视频 | 国产精品日本亚洲777| 久久er国产精品免费观看8| 全免费a级毛片免费看| 最近最新高清免费中文字幕| 国产国产人免费视频成69堂| 好大好深好猛好爽视频免费| 免费二级毛片免费完整视频| 亚洲日本va中文字幕久久| 亚洲精品在线网站| 亚洲精品自偷自拍无码| 一级毛片高清免费播放| 午夜视频在线免费观看| 免费无遮挡无码视频网站| 国产精品亚洲综合一区|