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

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

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

    Johnny

    表面的激烈是由于內(nèi)心的單薄,真正的力量如同流水一般沉靜
    隨筆 - 1, 文章 - 5, 評論 - 0, 引用 - 0
    數(shù)據(jù)加載中……

    2012年10月21日

    POI Excel小工具類

      1 package poi.excel;
      2 
      3 import java.awt.Graphics;
      4 import java.awt.Image;
      5 import java.awt.image.BufferedImage;
      6 import java.io.ByteArrayOutputStream;
      7 import java.io.FileInputStream;
      8 import java.io.IOException;
      9 import javax.imageio.ImageIO;
     10 import org.apache.poi.hssf.usermodel.HSSFClientAnchor;
     11 import org.apache.poi.hssf.usermodel.HSSFPatriarch;
     12 import org.apache.poi.hssf.usermodel.HSSFPicture;
     13 import org.apache.poi.hssf.usermodel.HSSFSheet;
     14 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
     15 
     16 /**
     17  * poi HSSF 提取點方法
     18  * @author sikaijian
     19  */
     20 public class Excel03Util {
     21     /**
     22      * 畫圖片
     23      * @param sheet
     24      * @param wb
     25      * @param startCol
     26      * @param startRow
     27      * @param endCol
     28      * @param endRow
     29      * @param pictureIndex 圖片索引號 需要先在workbook中加入圖片資源
     30      * @throws IOException
     31      * @author sikaijian
     32      */
     33     public static void drawPicture(HSSFSheet sheet, HSSFWorkbook wb,
     34             short startCol, int startRow, short endCol, int endRow,
     35             int pictureIndex) throws IOException {
     36         // 圖片容器
     37         HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
     38         
     39         // 錨點 容器下錨位置
     40         HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 0, 255, startCol,
     41                 startRow, endCol, endRow);
     42         anchor.setAnchorType(2);
     43         
     44         // 容器下錨,并載入圖片
     45         HSSFPicture picture = patriarch.createPicture(anchor, pictureIndex);
     46 
     47         picture.resize();
     48         picture.setLineStyle(picture.LINESTYLE_DASHDOTGEL);
     49     }
     50 
     51     /**
     52      * 加載圖片
     53      * @param img 圖片對象
     54      * @param wb
     55      * @return 圖片索引號
     56      * @throws IOException
     57      * @author sikaijian
     58      */
     59     public static int loadPicture(Image img, HSSFWorkbook wb)
     60             throws IOException {
     61         int pictureIndex;
     62         ByteArrayOutputStream arrayOut = null;
     63         try {
     64             arrayOut = new ByteArrayOutputStream();
     65             BufferedImage buImage = new BufferedImage(img.getWidth(null), img
     66                     .getHeight(null), BufferedImage.TYPE_INT_RGB);
     67             Graphics g = buImage.getGraphics();
     68             g.drawImage(img, 0, 0, null);
     69             ImageIO.write(buImage, "png", arrayOut);
     70 
     71             byte[] data = arrayOut.toByteArray();
     72 
     73             pictureIndex = wb.addPicture(data, HSSFWorkbook.PICTURE_TYPE_PNG);
     74         } finally {
     75             if (null != arrayOut) {
     76                 arrayOut.close();
     77             }
     78         }
     79 
     80         return pictureIndex;
     81     }
     82 
     83     /**
     84      * 加載圖片
     85      * @param path 圖片路徑
     86      * @param wb
     87      * @return 圖片索引號
     88      * @throws IOException
     89      */
     90     public static int loadPicture(String path, HSSFWorkbook wb)
     91             throws IOException {
     92         int pictureIndex;
     93         FileInputStream fis = null;
     94         ByteArrayOutputStream bos = null;
     95         try {
     96             fis = new FileInputStream(path);
     97             bos = new ByteArrayOutputStream();
     98             int c;
     99             while ((c = fis.read()) != -1)
    100                 bos.write(c);
    101             pictureIndex = wb.addPicture(bos.toByteArray(),
    102                     HSSFWorkbook.PICTURE_TYPE_PNG);
    103         } finally {
    104             if (fis != null)
    105                 fis.close();
    106             if (bos != null)
    107                 bos.close();
    108         }
    109         return pictureIndex;
    110     }
    111 }
    112 

    posted @ 2012-10-21 17:43 瓢菝的雨夜 閱讀(733) | 評論 (0)編輯 收藏

    2012年9月21日

    希爾排序Java代碼

    /**
     * 希爾排序
     * 
    @author sikaijian
     
    */
    public class ShellSort {
        public static void sort(int[] data){
            int d = data.length/2;
            while(d!=0){
                directInsertSort(data, d);
                d/=2;
            }
        }
        
        /**
         * 帶增量的直接插入排序
         * 
    @param data 待排序數(shù)組
         * 
    @param d 增量
         
    */
        private static void directInsertSort(int[] data, int d){
            int len = data.length;
            
            for(int i=0; i+d<len; i++){
                int pCurrent = i+d;
                int left = i-1;
                while(pCurrent<len){
                    int front = pCurrent-d;
                    int key = data[pCurrent];
                    while(front>left && data[front]>key){
                        data[front+d] = data[front];
                        front-=d;
                    }
                    data[front+d] = key;
                    
                    pCurrent+=d;
                }
            }
        }
        
        public static void showArray(int[] array){
            for (int t : array) {
                System.out.print(t);
                System.out.print(" ");
            }
        }
        
        /**
         * 測試代碼
         * 
    @param args
         
    */
        public static void main(String[] args) {
            int[] data = new int[] { 49, 23, 65, 13, 38, 96, 12, 33, 88, 123, 22,
                    11, 9, 55, 111, 0 };

            showArray(data);
            System.out.println();
            System.out.println("------------------------------");
            ShellSort.sort(data);

            showArray(data);
        }
    }

    posted @ 2012-09-21 17:30 瓢菝的雨夜 閱讀(174) | 評論 (0)編輯 收藏

    直接插入排序Java代碼

    /**
     * 直接插入排序
     * 
    @author sikaijian
     
    */
    public class DirectInsertSort {
        public static void sort(int[] data){
            int pCurrent = 1;   // 認定第0個數(shù)是有序的,從第1個數(shù)開始插入排序
            int n = data.length;
            
            while(pCurrent<n){
                int front = pCurrent-1;
                int key = data[pCurrent];
                
                // 當前要插入的數(shù)和左邊的有序隊列比較(從右往左比較,比較一次移動一次)
                while(front>-1 && key<data[front]){
                    data[front+1] = data[front];
                    front--;
                }
                
                data[front+1] = key;
                
                pCurrent++;
            }
        }
        
        /**
         * 測試代碼
         * 
    @param args
         
    */
        public static void main(String[] args) {
            int[] data = new int[] { 49, 23, 65, 13, 38, 96, 12, 33, 88, 123, 22,
                    11, 9, 55, 111, 0 };

            for (int t : data) {
                System.out.print(t);
                System.out.print(" ");
            }
            System.out.println();
            System.out.println("------------------------------");
            DirectInsertSort.sort(data);

            for (int t : data) {
                System.out.print(t);
                System.out.print(" ");
            }
        }
    }

    posted @ 2012-09-21 14:23 瓢菝的雨夜 閱讀(213) | 評論 (0)編輯 收藏

    冒泡排序Java代碼


    /**
     * 冒泡排序
     * 
    @author sikaijian
     
    */
    public class BubbleSort {
        public static void sort(int[] data){
            if(data.length<=1) return;
            
            /**
    * 每一趟排序都把最大的數(shù)字放到最后
    * 下一趟排序后,最大的數(shù)不參加
    * 總共n-1趟(n為數(shù)組長度)
    */
            for (int i = data.length-1; i > 0; i--) {
                for (int j = 0; j < i; j++) {
                    if(data[j]>data[j+1]){
                        int temp = data[j];
                        data[j] = data[j+1];
                        data[j+1] = temp;
                    }
                }
            }
        }
        
        /**
         * 測試代碼
         * 
    @param args
         
    */
        public static void main(String[] args) {
            int[] data = new int[] { 49, 23, 65, 13, 38, 96, 12, 33, 88, 123, 22,
                    11, 9, 55, 111, 0 };

            for (int t : data) {
                System.out.print(t);
                System.out.print(" ");
            }
            System.out.println();
            System.out.println("------------------------------");
            BubbleSort.sort(data);

            for (int t : data) {
                System.out.print(t);
                System.out.print(" ");
            }
        }
    }

    posted @ 2012-09-21 13:32 瓢菝的雨夜 閱讀(137) | 評論 (0)編輯 收藏

    快速排序Java代碼

    /**
     * 
    @author sikaijian
     
    */
    public class QuickSort {
        
        /**
         * 快速排序算法實現(xiàn)
         * 
    @param data 待排序數(shù)組
         * 
    @param left 左邊界 初始0
         * 
    @param right 右邊界 初始數(shù)組長度-1
         * 
    @author sikaijian
         
    */
        public static void sort(int[] data, int left, int right) {
            if (left > right)
                return;
            int pHead = left;  // 頭部指針
            int pTail = right;  // 尾部指針
            int key = data[left];  // 哨兵

            while (pHead < pTail) {
                // 從右往左遍歷,找到比key小的數(shù),放到前面
                while (pHead < pTail && data[pTail] > key) pTail--;
                if (pHead < pTail) data[pHead++] = data[pTail];
                
                // 從左往右遍歷,找到比key大的數(shù),放到后面
                while (pHead < pTail && data[pHead] < key) pHead++;
                if (pHead < pTail) data[pTail--] = data[pHead];
            }
            
            data[pHead] = key; // 歸位
            
            sort(data, left, pHead-1);  // 排序左邊的數(shù)組
            sort(data, pHead+1, right);  // 排序右邊的數(shù)組
        }
        
        /**
         * 測試代碼
         * 
    @param args
         
    */
        public static void main(String[] args) {
            int[] data = new int[] { 49, 23, 65, 13, 38, 96, 12, 33, 88, 123, 22,
                    11, 9, 55 };

            for (int t : data) {
                System.out.print(t);
                System.out.print(" ");
            }
            System.out.println();
            System.out.println("------------------------------");
            QuickSort.sort(data, 0, data.length - 1);

            for (int t : data) {
                System.out.print(t);
                System.out.print(" ");
            }
        }
    }

    posted @ 2012-09-21 11:01 瓢菝的雨夜 閱讀(217) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 日韩精品免费一级视频| 69国产精品视频免费| 我要看WWW免费看插插视频| 我的小后妈韩剧在线看免费高清版| 四虎在线成人免费网站| 国产极品粉嫩泬免费观看| 精品无码一级毛片免费视频观看 | 亚洲av无码片vr一区二区三区| 日本高清免费中文字幕不卡| 亚洲狠狠婷婷综合久久久久| 亚洲剧情在线观看| 2022国内精品免费福利视频 | 国产猛男猛女超爽免费视频| 成年网站免费视频A在线双飞| 亚洲国产日韩成人综合天堂| 国产片AV片永久免费观看| 亚洲国产综合精品中文字幕| 亚洲人成网站看在线播放| 精品一卡2卡三卡4卡免费视频| 亚洲 另类 无码 在线| 亚洲欧美日韩中文字幕在线一区| 亚洲最新中文字幕| 久久成人免费播放网站| 4虎1515hh永久免费| 亚洲精品免费观看| 中文字幕看片在线a免费| 91免费福利精品国产| 亚洲AV乱码一区二区三区林ゆな | 中文字幕亚洲综合久久2| 无码A级毛片免费视频内谢| 亚洲综合久久夜AV | 久久精品国产亚洲AV无码麻豆| 亚洲国产成a人v在线观看| 免费无码精品黄AV电影| 中文字幕在线日亚洲9| 女人张腿给男人桶视频免费版 | av免费不卡国产观看| 亚洲综合无码无在线观看| 免费无码黄动漫在线观看| 亚洲国产日韩在线视频| 99久久综合精品免费|