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

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

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

    JXL(JExcleApi)Excle詳細(xì)使用心得

    功能:寫入/讀取Excle,設(shè)置打印樣式排版,鎖定列與行,設(shè)置打印標(biāo)題,給Excle加密。

    java報(bào)表JXL和POI打印設(shè)置
     =======================================   引用來自互聯(lián)網(wǎng)  start ===============================================

    JXL的打印設(shè)置在jxl.SheetSettings這個(gè)類中,我們可以通過方法Sheet(或者WritableSheet#getSettings()獲取。

    1.頁(yè)面

    1.1方向

    SheetSetting#setOrientation(PageOrientation po)

    參數(shù):  PageOrientation#LANDSCAPE       橫向打印

    PageOrientation# PORTRAIT       縱向打印

    1.2縮放

    1.2.1縮放比例(A) SheetSetting #setScaleFactor (int);百分比形式

    1.2.2調(diào)整(F)

    頁(yè)寬 SheetSetting #setFitWidth(int);

    頁(yè)高 SheetSetting #setFitHeight(int);

    1.3紙張大小(Z) SheetSetting #setPaperSize (PaperSize);

    紙張大小的定義說明參見PaperSize類中的常量。

    1.4起始頁(yè)碼(R) SheetSetting #setPageStrart(int);[默認(rèn)狀態(tài)]

    2頁(yè)面距

    2.1(T) SheetSetting # setTopMargin (double);

    2.2(B) SheetSetting # setBottomMargin (double);

    2.3(L) SheetSetting # setLeftMargin (double);

    2.4(R) SheetSetting # setRightMargin (double);

    2.5頁(yè)眉(A) SheetSetting #setHeaderMargin(double);

    2.6頁(yè)腳(F) SheetSetting #setFooterMargin(double);

    2.7居中方式

    2.7.1水平(Z) SheetSetting # setHorizontalCentre (boolean);

    2.7.2垂直(V) SheetSetting #setVerticallyCenter(boolean);

    3頁(yè)眉/頁(yè)腳

    3.1頁(yè)眉SheetSetting # setHeaderHeaderFooter;

    說明:

    對(duì)于HeaderFooter的設(shè)置,首先確定頁(yè)眉的位置(左、中、右),通過HeaderFooter#getCentre()(或者getLeft()getRight())方法獲取HeaderFooter.Contents類,之后對(duì)這個(gè)類的屬性進(jìn)行操作。

    下面簡(jiǎn)單介紹幾個(gè)常用方法:

    設(shè)置字號(hào):Contents#setFontSize(int)

    設(shè)置字體:Contents#setFontName(String)

    設(shè)置內(nèi)容:Contents# appendString),還有appendDate()當(dāng)前日期等等,具體參考Contents類說明

    3.2頁(yè)腳SheetSetting # setFooterHeaderFooter);

    說明同上

    4工作表

    4.1打印區(qū)域

    SheetSettings #setPrintArea(firstCol, firstRow, lastCol, lastRow)

    4.2打印標(biāo)題

    SheetSettings#setPrintTitles (firstRow,lastRow,firstCol,lastCol);

    SheetSettings#setPrintTitlesCol(firstCol,lastCol)

    SheetSettings#setPrintTitlesRow(firstRow,lastRow)
     =======================================   引用來自互聯(lián)網(wǎng)  end ===============================================

    =======================================  自己寫的Demo ========================================
    DEMO

     

    package finance.barcode;

    import static jxl.format.PaperSize.getPaperSize;

    import include.nseer_db.nseer_db;

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.InputStream;

    import jxl.CellView;
    import jxl.HeaderFooter;
    import jxl.Workbook;
    import jxl.format.Alignment;
    import jxl.format.Border;
    import jxl.format.BorderLineStyle;
    import jxl.format.Colour;
    import jxl.format.PageOrientation;
    import jxl.format.PaperSize;
    import jxl.format.VerticalAlignment;
    import jxl.write.Label;
    import jxl.write.NumberFormats;
    import jxl.write.WritableCellFormat;
    import jxl.write.WritableFont;
    import jxl.write.WritableSheet;
    import jxl.write.WritableWorkbook;
    import jxl.write.WriteException;

    /**
     * 
     * 
    @author Solitary
     * 
    @author xing5156@gmail.com
     *
     
    */

    public class BarToExcle extends nseer_db{

        
    /** *********創(chuàng)建字體**************** */
        
    public WritableFont BlodFont ;             // 粗體
        public WritableFont NormalFont ;        // 普通字體
        public WritableFont BarCodeFont ;         // 條形碼字體
        /** ************以下設(shè)置幾種格式的單元格屬性************ */
        
    public WritableCellFormat wcf_header ;    // 標(biāo)題樣式
        public WritableCellFormat wcf_left ;    // 用于正文左
        public WritableCellFormat wcf_barcode ; // 用于條形碼格式
        
        
        
    public BarToExcle(String db) {        
            
    super(db) ;
            
            
    /** ********* 初始化字體 **************** */
            BlodFont 
    = new WritableFont(WritableFont.ARIAL, 20, WritableFont.BOLD ) ;
            NormalFont 
    = new WritableFont(WritableFont.ARIAL, 15);
            BarCodeFont 
    = new WritableFont(WritableFont.ARIAL, 15, WritableFont.BOLD);
            
            
    try {
                
    /** ********* 初始化單元格屬性 **************** */
                
    // 初始化標(biāo)題樣式
                wcf_header = new WritableCellFormat(BlodFont, NumberFormats.TEXT) ; // 實(shí)例化單元格格式對(duì)象(標(biāo)題、居中)
                wcf_header.setBorder(Border.ALL, BorderLineStyle.THIN) ;    // 線條
                wcf_header.setVerticalAlignment(VerticalAlignment.CENTRE);     // 垂直對(duì)齊
                wcf_header.setAlignment(Alignment.CENTRE);                     // 水平對(duì)齊
                wcf_header.setBackground(Colour.GRAY_25) ;                    // 背景顏色
                wcf_header.setWrap(true);                                     // 是否換行
                
                
    // 用于正文左
                wcf_left = new WritableCellFormat(NormalFont);                // 實(shí)例化單元格格式對(duì)象(正文、左對(duì)齊)
                wcf_left.setBorder(Border.ALL, BorderLineStyle.THIN);         // 線條
                wcf_left.setVerticalAlignment(VerticalAlignment.CENTRE);     // 垂直對(duì)齊
                wcf_left.setAlignment(Alignment.LEFT);
                wcf_left.setLocked(
    false) ;                                    // 設(shè)置鎖定,還得設(shè)置SheetSettings啟用保護(hù)和設(shè)置密碼
                wcf_left.setWrap(true);                                     // 是否換行
                
                
    // 用于條形碼格式
                wcf_barcode = new WritableCellFormat(BarCodeFont);            // 實(shí)例化單元格格式對(duì)象(第一列、條形碼)
                wcf_barcode.setBorder(Border.ALL, BorderLineStyle.THIN);     // 線條
                wcf_barcode.setVerticalAlignment(VerticalAlignment.CENTRE); // 垂直對(duì)齊
                wcf_barcode.setAlignment(Alignment.CENTRE);
                wcf_barcode.setLocked(
    true) ;                                // 設(shè)置鎖定,還得設(shè)置SheetSettings啟用保護(hù)和設(shè)置密碼
                wcf_barcode.setWrap(true);                                     // 是否換行
            }
     catch (WriteException e) {
                e.printStackTrace();
            }

        }

        
        
        
    // 創(chuàng)建Excle及工作表
        public int createExcle(StringBuffer buf) {
            String barCodes[] 
    = null ;
            
    try {
                
    /** ********** 創(chuàng)建工作薄  ********** **/
                WritableWorkbook workbook 
    = Workbook.createWorkbook(new File("d:" + File.separator + "barcode.xls")) ;
                
    /** ********** 創(chuàng)建工作表  ********** **/
                WritableSheet sheet 
    = workbook.createSheet("條形碼"0) ;
                
                
    /** ********* 打印屬性 **************** */
                sheet.getSettings().setOrientation(PageOrientation.LANDSCAPE) ;    
    // 設(shè)置為橫向打印
                sheet.getSettings().setPaperSize(PaperSize.A4) ;            // 設(shè)置紙張
                sheet.getSettings().setFitHeight(297) ;                        // 打印區(qū)高度
                sheet.getSettings().setFitWidth(210) ;                        // 打印區(qū)寬度    
                
    // 設(shè)置列寬
                sheet.setColumnView(010); // 第1列
                sheet.setColumnView(130); // 第2列
                sheet.setColumnView(215);
                sheet.setColumnView(
    315);
                sheet.setColumnView(
    430);
                sheet.setColumnView(
    540);
                
    // 設(shè)置邊距            
                sheet.getSettings().setTopMargin(0.5) ;
                sheet.getSettings().setBottomMargin(
    0.3) ;
                sheet.getSettings().setLeftMargin(
    0.1) ;
                sheet.getSettings().setRightMargin(
    0.1) ;
                
    // 設(shè)置頁(yè)腳
                sheet.getSettings().getFooter().getCentre().appendPageNumber() ;    // 為頁(yè)腳添加頁(yè)數(shù)
                sheet.getSettings().setFooterMargin(0.07) ;                            // 設(shè)置頁(yè)腳邊距(下)
                
    // 設(shè)置保護(hù),并加密碼 鎖定的Cell才會(huì)起作用
                sheet.getSettings().setProtected(true) ;                            // 啟用保護(hù)
                sheet.getSettings().setPassword("xing5156") ;                        // 設(shè)置保護(hù)密碼
                
    // 設(shè)置打印標(biāo)題行
                sheet.getSettings().setPrintHeaders(true) ;                            // 啟用打印頭信息
                sheet.getSettings().setPrintTitlesRow(00) ;                        // 設(shè)置標(biāo)題行
                
                
    /** *********插入標(biāo)題內(nèi)容**************** */
                sheet.addCell(
    new Label(00"條碼"this.wcf_header));
                sheet.addCell(
    new Label(10"公司"this.wcf_header));
                sheet.addCell(
    new Label(20"部門"this.wcf_header));
                sheet.addCell(
    new Label(30"姓名"this.wcf_header));
                sheet.addCell(
    new Label(40"類型"this.wcf_header));
                sheet.addCell(
    new Label(50"描述"this.wcf_header));

                barCodes 
    = buf.toString().split("") ;
                
    for(int i = 0, y = 1; i < barCodes.length; i++, y++{
                    sheet.setRowView(y, 
    400) ;
                    sheet.addCell(
    new Label(0, y, barCodes[i], this.wcf_barcode)) ;
                    sheet.addCell(
    new Label(1, y, ""this.wcf_left)) ;
                    sheet.addCell(
    new Label(2, y, ""this.wcf_left)) ;
                    sheet.addCell(
    new Label(3, y, ""this.wcf_left)) ;
                    sheet.addCell(
    new Label(4, y, ""this.wcf_left)) ;
                    sheet.addCell(
    new Label(5, y, ""this.wcf_left)) ;
                }

                
                
    /** **********以上所寫的內(nèi)容都是寫在緩存中的,下一句將緩存的內(nèi)容寫到文件中******** */
                workbook.write();
                
    /** *********關(guān)閉文件************* */
                workbook.close();
                System.out.println(
    "導(dǎo)出成功");
                
            }
     catch (Exception e) {
                System.out.println(
    "在輸出到EXCEL的過程中出現(xiàn)錯(cuò)誤,錯(cuò)誤原因:" + e.toString());
            }

            
    return barCodes.length ;
        }

        
    /**
         * 構(gòu)建Workbook對(duì)象, 將內(nèi)容讀取到內(nèi)存中再更新到原來文件中 
         * 最后關(guān)閉寫入操作來完成文件更新
         * 
    @param buf 該對(duì)象中包含(11AA◎55BC◎523A)類似的數(shù)據(jù),以◎拆分
         * 
    @return    返回本次更新條數(shù)
         
    */

        
    public int updateExcle(StringBuffer buf) throws Exception {            // 更新Excle
            
            File file 
    = new File("d:" + File.separator + "barcode.xls") ;
            Workbook wb 
    = null;
            
    if(file.exists()) {
                wb 
    = Workbook.getWorkbook(file);
                WritableWorkbook wwb 
    = Workbook.createWorkbook(file, wb);
                
    // 讀取第一張工作表
                WritableSheet sheet = wwb.getSheet(0) ;
                
                
    int count = sheet.getRows() ;
                String barCodes[] 
    = buf.toString().split("") ;
                
    for(int i = count , y = 0; y < barCodes.length; y++ , i++{
                    sheet.setRowView(i, 
    400) ;
                    sheet.addCell(
    new Label(0, i, barCodes[y], this.wcf_barcode)) ;
                    sheet.addCell(
    new Label(1, i, ""this.wcf_left)) ;
                    sheet.addCell(
    new Label(2, i, ""this.wcf_left)) ;
                    sheet.addCell(
    new Label(3, i, ""this.wcf_left)) ;
                    sheet.addCell(
    new Label(4, i, ""this.wcf_left)) ;
                    sheet.addCell(
    new Label(5, i, ""this.wcf_left)) ;
                }

                wwb.write() ;
                wwb.close() ;
                wb.close() ;
                System.out.println(
    "更新完成!") ;
                
    return barCodes.length ;
            }
     else {
                
    return createExcle(buf) ;
            }

        }

        
        
    // 測(cè)試
    //    public static void main(String args[]) {
    //        StringBuffer buf = new StringBuffer() ;        // 測(cè)試數(shù)據(jù)
    //        buf.append("56KF").append("◎").append("12AA").append("◎").append("23GH").append("◎").append("55JJ") ;
    //        try {
    //            BarToExcle bte = new BarToExcle() ;
    //            bte.updateExcle(buf) ;
    //        } catch (Exception e) {
    //            e.printStackTrace();
    //        }
    //    }
    }


    posted on 2011-11-18 14:04 Solitary 閱讀(28022) 評(píng)論(1)  編輯  收藏 所屬分類: Tool

    評(píng)論

    # re: JXL(JExcleApi)Excle詳細(xì)使用心得 2015-11-13 10:02 周周周周

    include是自己洗的么、  回復(fù)  更多評(píng)論   


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    <2015年11月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    293012345

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲中文久久精品无码ww16| 一二三四在线播放免费观看中文版视频| 手机看片久久国产免费| 亚洲视频一区网站| 亚洲黄色片免费看| 亚洲综合色7777情网站777| 毛片免费观看的视频| 亚洲最大的成人网| 在线看片人成视频免费无遮挡| 亚洲av永久无码精品网址| 永久免费观看的毛片的网站| 国产亚洲精品第一综合| 亚洲无线一二三四区手机| 国产免费一区二区三区不卡| 久久亚洲精品中文字幕无码| 91免费在线播放| 亚洲愉拍一区二区三区| 波多野结衣免费视频观看| EEUSS影院WWW在线观看免费 | 9久9久女女免费精品视频在线观看| 亚洲免费福利视频| 日韩视频在线免费观看| 一级一级一级毛片免费毛片| 国产成人亚洲综合色影视| 永久免费在线观看视频| 亚洲AV无码专区在线电影成人| 天堂亚洲免费视频| 日本免费电影一区二区| 亚洲日韩国产精品乱-久| 亚洲精品国产精品乱码不卡| 精品国产污污免费网站| 亚洲人成图片网站| 久久亚洲AV无码西西人体| 99久久免费精品视频| 亚洲爆乳无码专区www| 亚洲综合另类小说色区| 久久国产免费福利永久| 色吊丝免费观看网站| 亚洲高清资源在线观看| 免费a在线观看播放| 91禁漫免费进入|