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

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

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

    java范例

    java

    POI 控制 Excle 操作

    0.row.setHeight((short)15.625); 15.625 表示設(shè)置行的行高為1像素(px)
       row.setHeightInPoints(float height); 這個方法直接設(shè)置行高的像素數(shù)
       sheet.setColumnWidth((short) 0, (short) (35.7)); 35.7表示列寬為一個像素35.7*n//36.56
    1.創(chuàng)建工作簿 (WORKBOOK)
        HSSFWorkbook wb = new HSSFWorkbook();
        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
        wb.write(fileOut);
        fileOut.close();
    2.創(chuàng)建工作表(SHEET)
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet1 = wb.createSheet("new sheet");
        HSSFSheet sheet2 = wb.createSheet("second sheet");
        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
        wb.write(fileOut);
        fileOut.close();
    3.創(chuàng)建單元格(CELL)
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet = wb.createSheet("new sheet");
        // Create a row and put some cells in it. Rows are 0 based.
        HSSFRow row = sheet.createRow((short)0);
        // Create a cell and put a value in it.
        HSSFCell cell = row.createCell((short)0);
        cell.setCellValue(1);
        // Or do it on one line.
        row.createCell((short)1).setCellValue(1.2);
        row.createCell((short)2).setCellValue("This is a string");
        row.createCell((short)3).setCellValue(true);
        // Write the output to a file
        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
        wb.write(fileOut);
        fileOut.close();
    4.創(chuàng)建指定單元格式的單元格
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet = wb.createSheet("new sheet");
        // Create a row and put some cells in it. Rows are 0 based.
        HSSFRow row = sheet.createRow((short)0);
        // Create a cell and put a date value in it.  The first cell is not styled
        // as a date.
        HSSFCell cell = row.createCell((short)0);
        cell.setCellValue(new Date());
        // we style the second cell as a date (and time).  It is important to
        // create a new cell style from the workbook otherwise you can end up
        // modifying the built in style and effecting not only this cell but other cells.
        HSSFCellStyle cellStyle = wb.createCellStyle();
        cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy h:mm"));
        cell = row.createCell((short)1);
        cell.setCellValue(new Date());
        cell.setCellStyle(cellStyle);
        // Write the output to a file
        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
        wb.write(fileOut);
        fileOut.close();
    5. 單元格的不同格式
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet = wb.createSheet("new sheet");
        HSSFRow row = sheet.createRow((short)2);
        row.createCell((short) 0).setCellValue(1.1);
        row.createCell((short) 1).setCellValue(new Date());
        row.createCell((short) 2).setCellValue("a string");
        row.createCell((short) 3).setCellValue(true);
        row.createCell((short) 4).setCellType(HSSFCell.CELL_TYPE_ERROR);
        // Write the output to a file
        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
        wb.write(fileOut);
        fileOut.close();
    6.單元格的不通對齊方式
        public static void main(String[] args)
                throws IOException
        {
            HSSFWorkbook wb = new HSSFWorkbook();
            HSSFSheet sheet = wb.createSheet("new sheet");
            HSSFRow row = sheet.createRow((short) 2);
            createCell(wb, row, (short) 0, HSSFCellStyle.ALIGN_CENTER);
            createCell(wb, row, (short) 1, HSSFCellStyle.ALIGN_CENTER_SELECTION);
            createCell(wb, row, (short) 2, HSSFCellStyle.ALIGN_FILL);
            createCell(wb, row, (short) 3, HSSFCellStyle.ALIGN_GENERAL);
            createCell(wb, row, (short) 4, HSSFCellStyle.ALIGN_JUSTIFY);
            createCell(wb, row, (short) 5, HSSFCellStyle.ALIGN_LEFT);
            createCell(wb, row, (short) 6, HSSFCellStyle.ALIGN_RIGHT);
            // Write the output to a file
            FileOutputStream fileOut = new FileOutputStream("workbook.xls");
            wb.write(fileOut);
            fileOut.close();
        }
        /**
         * Creates a cell and aligns it a certain way.
         *
         * @param wb        the workbook
         * @param row       the row to create the cell in
         * @param column    the column number to create the cell in
         * @param align     the alignment for the cell.
         */
        private static void createCell(HSSFWorkbook wb, HSSFRow row, short column, short align)
        {
            HSSFCell cell = row.createCell(column);
            cell.setCellValue("Align It");
            HSSFCellStyle cellStyle = wb.createCellStyle();
            cellStyle.setAlignment(align);
            cell.setCellStyle(cellStyle);
        }
    7.單元格的邊框設(shè)置
    Working with borders
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet = wb.createSheet("new sheet");
        // Create a row and put some cells in it. Rows are 0 based.
        HSSFRow row = sheet.createRow((short) 1);
        // Create a cell and put a value in it.
        HSSFCell cell = row.createCell((short) 1);
        cell.setCellValue(4);
        // Style the cell with borders all around.
        HSSFCellStyle style = wb.createCellStyle();
        style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
        style.setBottomBorderColor(HSSFColor.BLACK.index);
        style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
        style.setLeftBorderColor(HSSFColor.GREEN.index);
        style.setBorderRight(HSSFCellStyle.BORDER_THIN);
        style.setRightBorderColor(HSSFColor.BLUE.index);
        style.setBorderTop(HSSFCellStyle.BORDER_MEDIUM_DASHED);
        style.setTopBorderColor(HSSFColor.BLACK.index);
        cell.setCellStyle(style);
        // Write the output to a file
        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
        wb.write(fileOut);
        fileOut.close();
    8.填充和顏色設(shè)置
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet = wb.createSheet("new sheet");
        // Create a row and put some cells in it. Rows are 0 based.
        HSSFRow row = sheet.createRow((short) 1);
        // Aqua background
        HSSFCellStyle style = wb.createCellStyle();
        style.setFillBackgroundColor(HSSFColor.AQUA.index);
        style.setFillPattern(HSSFCellStyle.BIG_SPOTS);
        HSSFCell cell = row.createCell((short) 1);
        cell.setCellValue("X");
        cell.setCellStyle(style);
        // Orange "foreground", foreground being the fill foreground not the font color.
        style = wb.createCellStyle();
        style.setFillForegroundColor(HSSFColor.ORANGE.index);
        style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
        cell = row.createCell((short) 2);
        cell.setCellValue("X");
        cell.setCellStyle(style);
        // Write the output to a file
        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
        wb.write(fileOut);
        fileOut.close();
    9.合并單元格操作
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet = wb.createSheet("new sheet");
        HSSFRow row = sheet.createRow((short) 1);
        HSSFCell cell = row.createCell((short) 1);
        cell.setCellValue("This is a test of merging");
        sheet.addMergedRegion(new Region(1,(short)1,1,(short)2));
        // Write the output to a file
        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
        wb.write(fileOut);
        fileOut.close();
    10.字體設(shè)置
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet = wb.createSheet("new sheet");
        // Create a row and put some cells in it. Rows are 0 based.
        HSSFRow row = sheet.createRow((short) 1);
        // Create a new font and alter it.
        HSSFFont font = wb.createFont();
        font.setFontHeightInPoints((short)24);
        font.setFontName("Courier New");
        font.setItalic(true);
        font.setStrikeout(true);
        // Fonts are set into a style so create a new one to use.
        HSSFCellStyle style = wb.createCellStyle();
        style.setFont(font);
        // Create a cell and put a value in it.
        HSSFCell cell = row.createCell((short) 1);
        cell.setCellValue("This is a test of fonts");
        cell.setCellStyle(style);
        // Write the output to a file
        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
        wb.write(fileOut);
        fileOut.close();
    11.自定義顏色
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet = wb.createSheet();
        HSSFRow row = sheet.createRow((short) 0);
        HSSFCell cell = row.createCell((short) 0);
        cell.setCellValue("Default Palette");
        //apply some colors from the standard palette,
        // as in the previous examples.
        //we'll use red text on a lime background
        HSSFCellStyle style = wb.createCellStyle();
        style.setFillForegroundColor(HSSFColor.LIME.index);
        style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
        HSSFFont font = wb.createFont();
        font.setColor(HSSFColor.RED.index);
        style.setFont(font);
        cell.setCellStyle(style);
        //save with the default palette
        FileOutputStream out = new FileOutputStream("default_palette.xls");
        wb.write(out);
        out.close();
        //now, let's replace RED and LIME in the palette
        // with a more attractive combination
        // (lovingly borrowed from freebsd.org)
        cell.setCellValue("Modified Palette");
        //creating a custom palette for the workbook
        HSSFPalette palette = wb.getCustomPalette();
        //replacing the standard red with freebsd.org red
        palette.setColorAtIndex(HSSFColor.RED.index,
                (byte) 153,  //RGB red (0-255)
                (byte) 0,    //RGB green
                (byte) 0     //RGB blue
        );
        //replacing lime with freebsd.org gold
        palette.setColorAtIndex(HSSFColor.LIME.index, (byte) 255, (byte) 204, (byte) 102);
        //save with the modified palette
        // note that wherever we have previously used RED or LIME, the
        // new colors magically appear
        out = new FileOutputStream("modified_palette.xls");
        wb.write(out);
        out.close();
    12.讀和重寫EXCEL文件
        POIFSFileSystem fs      =
                new POIFSFileSystem(new FileInputStream("workbook.xls"));
        HSSFWorkbook wb = new HSSFWorkbook(fs);
        HSSFSheet sheet = wb.getSheetAt(0);
        HSSFRow row = sheet.getRow(2);
        HSSFCell cell = row.getCell((short)3);
        if (cell == null)
            cell = row.createCell((short)3);
        cell.setCellType(HSSFCell.CELL_TYPE_STRING);
        cell.setCellValue("a test");
        // Write the output to a file
        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
        wb.write(fileOut);
        fileOut.close();
    13.在EXCEL單元格中使用自動換行
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet s = wb.createSheet();
        HSSFRow r = null;
        HSSFCell c = null;
        HSSFCellStyle cs = wb.createCellStyle();
        HSSFFont f = wb.createFont();
        HSSFFont f2 = wb.createFont();
        cs = wb.createCellStyle();
        cs.setFont( f2 );
        //Word Wrap MUST be turned on
        cs.setWrapText( true );
        r = s.createRow( (short) 2 );
        r.setHeight( (short) 0x349 );
        c = r.createCell( (short) 2 );
        c.setCellType( HSSFCell.CELL_TYPE_STRING );
        c.setCellValue( "Use \n with word wrap on to create a new line" );
        c.setCellStyle( cs );
        s.setColumnWidth( (short) 2, (short) ( ( 50 * 8 ) / ( (double) 1 / 20 ) ) );
        FileOutputStream fileOut = new FileOutputStream( "workbook.xls" );
        wb.write( fileOut );
        fileOut.close();
    14.數(shù)字格式自定義
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet = wb.createSheet("format sheet");
        HSSFCellStyle style;
        HSSFDataFormat format = wb.createDataFormat();
        HSSFRow row;
        HSSFCell cell;
        short rowNum = 0;
        short colNum = 0;
        row = sheet.createRow(rowNum++);
        cell = row.createCell(colNum);
        cell.setCellValue(11111.25);
        style = wb.createCellStyle();
        style.setDataFormat(format.getFormat("0.0"));
        cell.setCellStyle(style);
        row = sheet.createRow(rowNum++);
        cell = row.createCell(colNum);
        cell.setCellValue(11111.25);
        style = wb.createCellStyle();
        style.setDataFormat(format.getFormat("#,##0.0000"));
        cell.setCellStyle(style);
        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
        wb.write(fileOut);
        fileOut.close();
    15.調(diào)整工作單位置
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet = wb.createSheet("format sheet");
        HSSFPrintSetup ps = sheet.getPrintSetup();
        sheet.setAutobreaks(true);
        ps.setFitHeight((short)1);
        ps.setFitWidth((short)1);
        // Create various cells and rows for spreadsheet.
        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
        wb.write(fileOut);
        fileOut.close();
    16.設(shè)置打印區(qū)域
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet = wb.createSheet("Sheet1");
        wb.setPrintArea(0, "$A$1:$C$2");
        //sets the print area for the first sheet
        //Alternatively:
        //wb.setPrintArea(0, 0, 1, 0, 0) is equivalent to using the name reference (See the JavaDocs for more details)
        // Create various cells and rows for spreadsheet.
        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
        wb.write(fileOut);
        fileOut.close();
    17.標(biāo)注腳注
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet = wb.createSheet("format sheet");
        HSSFFooter footer = sheet.getFooter()
        footer.setRight( "Page " + HSSFFooter.page() + " of " + HSSFFooter.numPages() );
     
        // Create various cells and rows for spreadsheet.
        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
        wb.write(fileOut);
        fileOut.close();
    18.使用方便的內(nèi)部提供的函數(shù)
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet1 = wb.createSheet( "new sheet" );
        // Create a merged region
        HSSFRow row = sheet1.createRow( (short) 1 );
        HSSFRow row2 = sheet1.createRow( (short) 2 );
        HSSFCell cell = row.createCell( (short) 1 );
        cell.setCellValue( "This is a test of merging" );
        Region region = new Region( 1, (short) 1, 4, (short) 4 );
        sheet1.addMergedRegion( region );
        // Set the border and border colors.
        final short borderMediumDashed = HSSFCellStyle.BORDER_MEDIUM_DASHED;
        HSSFRegionUtil.setBorderBottom( borderMediumDashed,
            region, sheet1, wb );
        HSSFRegionUtil.setBorderTop( borderMediumDashed,
            region, sheet1, wb );
        HSSFRegionUtil.setBorderLeft( borderMediumDashed,
            region, sheet1, wb );
        HSSFRegionUtil.setBorderRight( borderMediumDashed,
            region, sheet1, wb );
        HSSFRegionUtil.setBottomBorderColor(HSSFColor.AQUA.index, region, sheet1, wb);
        HSSFRegionUtil.setTopBorderColor(HSSFColor.AQUA.index, region, sheet1, wb);
        HSSFRegionUtil.setLeftBorderColor(HSSFColor.AQUA.index, region, sheet1, wb);
        HSSFRegionUtil.setRightBorderColor(HSSFColor.AQUA.index, region, sheet1, wb);
        // Shows some usages of HSSFCellUtil
        HSSFCellStyle style = wb.createCellStyle();
        style.setIndention((short)4);
        HSSFCellUtil.createCell(row, 8, "This is the value of the cell", style);
        HSSFCell cell2 = HSSFCellUtil.createCell( row2, 8, "This is the value of the cell");
        HSSFCellUtil.setAlignment(cell2, wb, HSSFCellStyle.ALIGN_CENTER);
        // Write out the workbook
        FileOutputStream fileOut = new FileOutputStream( "workbook.xls" );
        wb.write( fileOut );
        fileOut.close();
    19.在工作單中移動行,調(diào)整行的上下位置
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet = wb.createSheet("row sheet");
        // Create various cells and rows for spreadsheet.
        // Shift rows 6 - 11 on the spreadsheet to the top (rows 0 - 5)
        sheet.shiftRows(5, 10, -5);
        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
        wb.write(fileOut);
        fileOut.close();
    20.選種指定的工作單
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet = wb.createSheet("row sheet");
        sheet.setSelected(true);
        // Create various cells and rows for spreadsheet.
        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
        wb.write(fileOut);
        fileOut.close();
    21.工作單的放大縮小
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet1 = wb.createSheet("new sheet");
        sheet1.setZoom(3,4);   // 75 percent magnification
        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
        wb.write(fileOut);
        fileOut.close();
    22.頭注和腳注
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet = wb.createSheet("new sheet");
        HSSFHeader header = sheet.getHeader();
        header.setCenter("Center Header");
        header.setLeft("Left Header");
        header.setRight(HSSFHeader.font("Stencil-Normal", "Italic") +
                        HSSFHeader.fontSize((short) 16) + "Right w/ Stencil-Normal Italic font and size 16");
        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
        wb.write(fileOut);
        fileOut.close();
    //-------------------------------以上實(shí)例代碼均來自官方網(wǎng)站
    //-------------------------------POI中使用的顏色是用顏色索引來實(shí)現(xiàn),如下:
       /*
        * 顏色對照表 數(shù)字代表顏色索引
            8: BLACK
            60: BROWN
            59: OLIVE_GREEN
            58: DARK_GREEN
            56: DARK_TEAL
            18: DARK_BLUE
            32: DARK_BLUE
            62: INDIGO
            63: GREY_80_PERCENT
            53: ORANGE
            19: DARK_YELLOW
            17: GREEN
            21: TEAL
            38: TEAL
            12: BLUE
            39: BLUE
            54: BLUE_GREY
            23: GREY_50_PERCENT
            10: RED
            52: LIGHT_ORANGE
            50: LIME
            57: SEA_GREEN
            49: AQUA
            48: LIGHT_BLUE
            20: VIOLET
            36: VIOLET
            55: GREY_40_PERCENT
            14: PINK
            33: PINK
            51: GOLD
            13: YELLOW
            34: YELLOW
            11: BRIGHT_GREEN
            35: BRIGHT_GREEN
            15: TURQUOISE
            35: TURQUOISE
            16: DARK_RED
            37: DARK_RED
            40: SKY_BLUE
            61: PLUM
            25: PLUM
            22: GREY_25_PERCENT
            45: ROSE
            43: LIGHT_YELLOW
            42: LIGHT_GREEN
            41: LIGHT_TURQUOISE
            27:LIGHT_TURQUOISE
            44: PALE_BLUE
            46: LAVENDER
            9: WHITE
            24: CORNFLOWER_BLUE
            26: LEMON_CHIFFON
            25: MAROON
            28: ORCHID
            29: CORAL
            30: ROYAL_BLUE
            31: LIGHT_CORNFLOWER_BLUE
        */
    //----------------------------------------------------你可以按上面的方法來自定義顏色
       /*
        * 自定義顏色,去掉注釋,貼加,其他則查看顏色對照表
       HSSFPalette palette = this.getCustomPalette();
       palette.setColorAtIndex(idx,
                i,  //RGB red (0-255)
                j,    //RGB green
                k     //RGB blue
             );        
       */
    //---------------------------------------------------用以上的基礎(chǔ)知識我們就可以制作復(fù)雜的多表頭,控制元/
    //格樣式的操作了,具體的代碼考慮到公司資產(chǎn),所以隱去。
    官方網(wǎng)站:http://jakarta.apache.org/poi/

    posted on 2007-10-29 17:44 王波 閱讀(479) 評論(0)  編輯  收藏


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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产偷国产偷亚洲高清人| 亚洲乱码在线视频| 国产久爱免费精品视频 | 免费国产成人18在线观看| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 四虎1515hh永久久免费| 亚洲精品国产免费| 久久国产免费福利永久| 亚洲人成77777在线观看网| 亚洲第一成年免费网站| 亚洲av永久无码一区二区三区| 在线免费观看一级片| 美女被爆羞羞网站免费| AV在线亚洲男人的天堂| a在线视频免费观看| 亚洲天天在线日亚洲洲精| 亚欧色视频在线观看免费| 亚洲乱码一二三四区乱码| 日本久久久免费高清| 特级aa**毛片免费观看| 亚洲香蕉成人AV网站在线观看| 久久精品国产影库免费看| 亚洲综合网美国十次| 性色av免费观看| 一级一看免费完整版毛片| 亚洲国产精品特色大片观看完整版| 久久久精品免费视频| 在线观看日本亚洲一区| 亚洲男人在线无码视频| 久艹视频在线免费观看| 亚洲国产超清无码专区| 国产免费爽爽视频免费可以看| 三级黄色片免费看| 亚洲人成7777| 亚洲熟妇中文字幕五十中出| 1000部拍拍拍18勿入免费视频软件| 久久亚洲精品无码gv| 亚洲av无码潮喷在线观看| 德国女人一级毛片免费| 成全视频高清免费观看电视剧| 亚洲一区中文字幕|