EasyPOI

fmms 13年前發布 | 79K 次閱讀 Java Office文檔處理

EasyPOI 的目的是封裝了poi的寫excel的API。

easypoi使用poi3.7開發,提供了更直觀易用的常用方法。主要支持以下的功能:

  1. 實現類似jQuery的鏈式調用方式
  2. 只支持xls格式,可以加載已存在的xls文件作為模板
  3. 提供了行編輯器、列編輯器和區域編輯器,可以一次操作一行、一列或一個區域的值或樣式
  4. 可設置的樣式包括:邊框大小、顏色;背景色;字體大小、顏色、粗體、斜體、刪除線、斜體等;數據格式;單元格寬高;對齊方式……等
  5. 設置打印樣式、設置密碼、按行或按列分組
  6. 插入圖片、批注、公式

詳情請參考API文檔和例子 一個簡單的例子:

public class HelloWord {
        public static void main(String[] args) {
                Object[] val = new Object[]{"插入一行數據",123,'A',Math.PI,new Date(), "hello"};

            Excel excel = new Excel();
            excel.cell(0, 0) //選擇第一個單元格
                    .value("Hello World!")//寫入值
                    .align(Align.CENTER)//設置水平對齊方式
                    .bgColor(Color.LIGHT_YELLOW)//設置背景色
                    .height(30)//設置高度
                    .font(new IFontEditor(){//設置字體
                            public void updateFont(Font font) {
                                    font.boldweight(BoldWeight.BOLD);//粗體
                                    font.color(Color.BROWN);//字體顏色
                            }
                    });
            excel.region(0, 0, 0, 10).merge();//合并第一行10個單元格
            excel.region("$A$2:$K$2").merge();//也可以這樣選取區域

            excel.row(2)//選擇第3行
                    .value(val)//寫入數據
                    .addWidth(2000)//增加寬度
                    .borderOuter(BorderStyle.DASH_DOT_DOT, Color.CORAL);//設置外邊框樣式

            excel.row(4,1)//選擇第5行,但忽略第1個單元格,從第2個單元格開始操作
                    .value(val)
                    .borderFull(BorderStyle.DASH_DOT, Color.RED);//設置全部邊框

            excel.row(6)//選擇第7行
                    .value(val, 2)//從第3個單元格開始寫入數據
                    .borderTop(BorderStyle.THIN, Color.BLUE);//只設置上邊框

            excel.column(11)
                    .value(val)//也可以操作一列
                    .align(Align.CENTER)
                    .borderFull(BorderStyle.THICK, Color.CORNFLOWER_BLUE)//設置全部邊框
                    .autoWidth();//根據內容長度,自動調整列寬

            excel.cell(7, 0).value("=IF(B3=123,\"等于\",\"不等于\")");//寫入Excel函數
            excel.cell(7, 1).value(0.578923).dataFormat("0.00%");//設置數據格式
            excel.cell(7, 2).value(0.578923, "0.00%");//也可以這樣設置數據格式

            //插入一張圖片
            excel.region(8, 0, 10, 1).image("http://poi.apache.org/resources/images/group-logo.jpg");

            excel.sheet().freeze(1, 0)//凍結第一行
                    .sheetName("這是第一個表");//重命名當前處于工作狀態的表的名稱

            //設置單元格備注
            excel.cell(8, 5).value("這個單元格設置了備注").comment("這是一條備注");

            //操作第二個表
            excel.setWorkingSheet(1).sheetName("第二個表");//把第二個表設置為工作狀態,并改名           
            excel.row(0).value(val);//第二個表寫入數據
            excel.sheet().groupColumn(0, 3);//按列分組

            excel.saveExcel("E:/temp/excel/helloworld.xls");
    }

}</pre>

項目主頁:http://www.baiduhome.net/lib/view/home/1323099168046

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!