<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      java-POI中文API文檔

      POI中文API文檔

       一、 POI簡介

                  Apache POI是Apache軟件基金會的開放源碼函式庫,POI提供API給Java程序對Microsoft Office格式檔案讀和寫的功能。

      二、 HSSF概況

                  HSSF 是Horrible SpreadSheet Format的縮寫,通過HSSF,你可以用純Java代碼來讀取、寫入、修改Excel文件。HSSF 為讀取操作提供了兩類API:usermodel和eventusermodel,即“用戶模型”和“事件-用戶模型”。

      三、 POI EXCEL文檔結構類

                  HSSFWorkbook excel文檔對象

                  HSSFSheet excel的sheet HSSFRow excel的行

                  HSSFCell excel的單元格 HSSFFont excel字體

                  HSSFName 名稱 HSSFDataFormat 日期格式

                  HSSFHeader sheet頭

                  HSSFFooter sheet尾

                  HSSFCellStyle cell樣式

                  HSSFDateUtil 日期

                  HSSFPrintSetup 打印

                  HSSFErrorConstants 錯誤信息表

      四、 EXCEL常用操作方法

        1、 得到Excel常用對象           

      1. POIFSFileSystem fs=newPOIFSFileSystem(new FileInputStream("d:/test.xls"));   
      2. //得到Excel工作簿對象    
      3. HSSFWorkbook wb = new HSSFWorkbook(fs);  
      4. //得到Excel工作表對象    
      5. HSSFSheet sheet = wb.getSheetAt(0);   
      6. //得到Excel工作表的行    
      7. HSSFRow row = sheet.getRow(i);  
      8. //得到Excel工作表指定行的單元格    
      9. HSSFCell cell = row.getCell((short) j);  
      10. cellStyle = cell.getCellStyle();//得到單元格樣式  

       2、建立Excel常用對象

      1. HSSFWorkbook wb = new HSSFWorkbook();//創建Excel工作簿對象   
      2. HSSFSheet sheet = wb.createSheet("new sheet");//創建Excel工作表對象     
      3. HSSFRow row = sheet.createRow((short)0); //創建Excel工作表的行   
      4. cellStyle = wb.createCellStyle();//創建單元格樣式   
      5. row.createCell((short)0).setCellStyle(cellStyle); //創建Excel工作表指定行的單元格   
      6. row.createCell((short)0).setCellValue(1); //設置Excel工作表的值  

      3、設置sheet名稱和單元格內容
      1. wb.setSheetName(1, "第一張工作表",HSSFCell.ENCODING_UTF_16);          
      2. cell.setEncoding((short) 1);      
      3. cell.setCellValue("單元格內容");  

      4、取得sheet的數目 
      1. wb.getNumberOfSheets()   

      5、  index取得sheet對象
      1. HSSFSheet sheet = wb.getSheetAt(0);  

      6、取得有效的行數
      1. int rowcount = sheet.getLastRowNum();  

      7、取得一行的有效單元格個數
      1. row.getLastCellNum();    

      8、單元格值類型讀寫

       

      1. cell.setCellType(HSSFCell.CELL_TYPE_STRING); //設置單元格為STRING類型   
      2. cell.getNumericCellValue();//讀取為數值類型的單元格內容  

       

      9、設置列寬、行高

       

      1. sheet.setColumnWidth((short)column,(short)width);      
      2. row.setHeight((short)height);    

       

      10、添加區域,合并單元格

       

      1. Region region = new Region((short)rowFrom,(short)columnFrom,(short)rowTo  
      2. ,(short)columnTo);//合并從第rowFrom行columnFrom列   
      3. sheet.addMergedRegion(region);// 到rowTo行columnTo的區域      
      4. //得到所有區域       
      5. sheet.getNumMergedRegions()   

       

      11、保存Excel文件

       

      1. FileOutputStream fileOut = new FileOutputStream(path);   
      2. wb.write(fileOut);   

       

       

      12、根據單元格不同屬性返回字符串數值

       

      1. public String getCellStringValue(HSSFCell cell) {      
      2.         String cellValue = "";      
      3.         switch (cell.getCellType()) {      
      4.         case HSSFCell.CELL_TYPE_STRING://字符串類型   
      5.             cellValue = cell.getStringCellValue();      
      6.             if(cellValue.trim().equals("")||cellValue.trim().length()<=0)      
      7.                 cellValue=" ";      
      8.             break;      
      9.         case HSSFCell.CELL_TYPE_NUMERIC: //數值類型   
      10.             cellValue = String.valueOf(cell.getNumericCellValue());      
      11.             break;      
      12.         case HSSFCell.CELL_TYPE_FORMULA: //公式   
      13.             cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);      
      14.             cellValue = String.valueOf(cell.getNumericCellValue());      
      15.             break;      
      16.         case HSSFCell.CELL_TYPE_BLANK:      
      17.             cellValue=" ";      
      18.             break;      
      19.         case HSSFCell.CELL_TYPE_BOOLEAN:      
      20.             break;      
      21.         case HSSFCell.CELL_TYPE_ERROR:      
      22.             break;      
      23.         default:      
      24.             break;      
      25.         }      
      26.         return cellValue;      
      27.     }     

       

      13、常用單元格邊框格式

       

      1. HSSFCellStyle style = wb.createCellStyle();      
      2. style.setBorderBottom(HSSFCellStyle.BORDER_DOTTED);//下邊框        
      3. style.setBorderLeft(HSSFCellStyle.BORDER_DOTTED);//左邊框        
      4. style.setBorderRight(HSSFCellStyle.BORDER_THIN);//右邊框        
      5. style.setBorderTop(HSSFCellStyle.BORDER_THIN);//上邊框    

       

       

      14、設置字體和內容位置

       

      1. HSSFFont f  = wb.createFont();      
      2. f.setFontHeightInPoints((short) 11);//字號       
      3. f.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);//加粗       
      4. style.setFont(f);      
      5. style.setAlignment(HSSFCellStyle.ALIGN_CENTER);//左右居中       
      6. style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//上下居中       
      7. style.setRotation(short rotation);//單元格內容的旋轉的角度       
      8. HSSFDataFormat df = wb.createDataFormat();      
      9. style1.setDataFormat(df.getFormat("0.00%"));//設置單元格數據格式       
      10. cell.setCellFormula(string);//給單元格設公式       
      11. style.setRotation(short rotation);//單元格內容的旋轉的角度   

       

      15、插入圖片

       

      1. //先把讀進來的圖片放到一個ByteArrayOutputStream中,以便產生ByteArray       
      2.       ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();      
      3.       BufferedImage bufferImg = ImageIO.read(new File("ok.jpg"));      
      4.       ImageIO.write(bufferImg,"jpg",byteArrayOut);      
      5. //讀進一個excel模版       
      6. FileInputStream fos = new FileInputStream(filePathName+"/stencil.xlt");       
      7. fs = new POIFSFileSystem(fos);      
      8. //創建一個工作薄       
      9. HSSFWorkbook wb = new HSSFWorkbook(fs);      
      10. HSSFSheet sheet = wb.getSheetAt(0);      
      11. HSSFPatriarch patriarch = sheet.createDrawingPatriarch();      
      12. HSSFClientAnchor anchor = new HSSFClientAnchor(0,0,1023,255,(short) 0,0,(short)10,10);           
      13. patriarch.createPicture(anchor , wb.addPicture(byteArrayOut.toByteArray(),HSSFWorkbook.PICTURE_TYPE_JPEG));    

       

      16、調整工作表位置

       

      1. HSSFWorkbook wb = new HSSFWorkbook();     
      2. HSSFSheet sheet = wb.createSheet("format sheet");     
      3. HSSFPrintSetup ps = sheet.getPrintSetup();     
      4. sheet.setAutobreaks(true);     
      5. ps.setFitHeight((short)1);     
      6. ps.setFitWidth((short)1);   

       

      17、設置打印區域

       

      1. HSSFSheet sheet = wb.createSheet("Sheet1");     
      2. wb.setPrintArea(0, "$A$1:$C$2");    

       

      18、標注腳注

       

      1. HSSFSheet sheet = wb.createSheet("format sheet");     
      2. HSSFFooter footer = sheet.getFooter()     
      3. footer.setRight( "Page " + HSSFFooter.page() + " of " + HSSFFooter.numPages() );   

       

      19、在工作單中清空行數據,調整行位置

       

      1. HSSFWorkbook wb = new HSSFWorkbook();     
      2. HSSFSheet sheet = wb.createSheet("row sheet");     
      3. // Create various cells and rows for spreadsheet.      
      4. // Shift rows 6 - 11 on the spreadsheet to the top (rows 0 - 5)      
      5. sheet.shiftRows(5, 10, -5);    

       

      20、選中指定的工作表

       

      1. HSSFSheet sheet = wb.createSheet("row sheet");     
      2. heet.setSelected(true);     

       

      21、工作表的放大縮小

       

      1. HSSFSheet sheet1 = wb.createSheet("new sheet");     
      2. sheet1.setZoom(1,2);   // 50 percent magnification    

       

      22、頭注和腳注

       

      1. HSSFSheet sheet = wb.createSheet("new sheet");     
      2. HSSFHeader header = sheet.getHeader();     
      3. header.setCenter("Center Header");     
      4. header.setLeft("Left Header");     
      5. header.setRight(HSSFHeader.font("Stencil-Normal", "Italic") +     
      6. HSSFHeader.fontSize((short) 16) + "Right w/ Stencil-Normal Italic font and size 16");  

       

      23、自定義顏色

       

      1. HSSFCellStyle style = wb.createCellStyle();     
      2. style.setFillForegroundColor(HSSFColor.LIME.index);     
      3. style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);     
      4. HSSFFont font = wb.createFont();     
      5. font.setColor(HSSFColor.RED.index);     
      6. style.setFont(font);     
      7. cell.setCellStyle(style);     

       

      24、填充和顏色設置

       

      1. HSSFCellStyle style = wb.createCellStyle();     
      2. style.setFillBackgroundColor(HSSFColor.AQUA.index);     
      3. style.setFillPattern(HSSFCellStyle.BIG_SPOTS);     
      4. HSSFCell cell = row.createCell((short) 1);     
      5. cell.setCellValue("X");     
      6. style = wb.createCellStyle();     
      7. style.setFillForegroundColor(HSSFColor.ORANGE.index);     
      8. style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);     
      9. cell.setCellStyle(style);   

      25、強行刷新單元格公式

       

      1. HSSFFormulaEvaluator eval=new HSSFFormulaEvaluator((HSSFWorkbook) wb);    
      2. private static void updateFormula(Workbook wb,Sheet s,int row){     
      3.         Row r=s.getRow(row);     
      4.         Cell c=null;     
      5.         FormulaEcaluator eval=null;     
      6.         if(wb instanceof HSSFWorkbook)     
      7.             eval=new HSSFFormulaEvaluator((HSSFWorkbook) wb);     
      8.         else if(wb instanceof XSSFWorkbook)     
      9.             eval=new XSSFFormulaEvaluator((XSSFWorkbook) wb);     
      10.         for(int i=r.getFirstCellNum();i
      11.             c=r.getCell(i);     
      12.             if(c.getCellType()==Cell.CELL_TYPE_FORMULA)     
      13.                 eval.evaluateFormulaCell(c);     
      14.         }     
      15.     }    

      說明:FormulaEvaluator提供了evaluateFormulaCell(Cell cell)方法,計算公式保存結果,但不改變公式。而evaluateInCell(Cell cell) 方法是計算公式,并將原公式替換為計算結果,也就是說該單元格的類型不在是Cell.CELL_TYPE_FORMULA而是Cell.CELL_TYPE_NUMBERIC。HSSFFormulaEvaluator提供了靜態方法evaluateAllFormu

      laCells(HSSFWorkbook wb) ,計算一個Excel文件的所有公式,用起來很方便。 

      -------------------------------------------poi 方法總結-------------------------------------------------------------------

      -.設置不顯示excel網格線 
        sheet.setDisplayGridlines(false);其中sheet是Sheet對象 
      2.設置excel單元格中的內容換行 
        cellStyle.setWrapText(true);其中cellStyle是WorkBook創建的CellStyle對象,然后將cellStyle設置到要換行的Cell對象,最后在要換行的對象(一般為字符串)加入"/r/n"。如 
      topTile.append("/r/n" +"cellContent"); 

      3.單元格的合并 
        sheet.addMergedRegion(new CellRangeAddress(0, 4, 0, 2));本示例為合并4行2列 

      4.設置頁眉和頁腳的頁數 
          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"); 

        HSSFFooter footer = (HSSFFooter )sheet.getFooter() 
        footer.setRight( "Page " + HSSFFooter.page() + " of " + HSSFFooter.numPages() ); 

      5.使得一個Sheet適合一頁 
        sheet.setAutobreaks(true); 
      6.設置放大屬性(Zoom被明確為一個分數,例如下面的75%使用3作為分子,4作為分母) 
        sheet.setZoom(3,4);   

      7.設置打印 
        HSSFPrintSetup print = (HSSFPrintSetup) sheet.getPrintSetup(); 
        print.setLandscape(true);//設置橫向打印 
        print.setScale((short) 70);//設置打印縮放70% 
        print.setPaperSize(HSSFPrintSetup.A4_PAPERSIZE);//設置為A4紙張 
        print.setLeftToRight(true);//設置打印順序先行后列,默認為先列行            
        print.setFitHeight((short) 10);設置縮放調整為10頁高 
        print.setFitWidth((short) 10);設置縮放調整為寬高 

        sheet.setAutobreaks(false); 
        if (i != 0 && i % 30 == 0) 
            sheet.setRowBreak(i);//設置每30行分頁打印 

      8.反復的行和列(設置打印標題) 
        HSSFWorkbook wb = new HSSFWorkbook(); 
        wb.setRepeatingRowsAndColumns(0, 0, 12, 1, 6);//設置1到12列,行1到6每一頁重復打印 

      9.調整單元格寬度 
        sheet.setAutobreaks(true); 
        sheet.setColumnWidth((short)i,colsWidth[i]); //設定單元格長度 
          sheet.autoSizeColumn((short) i);//自動根據長度調整單元格長度 

      posted @ 2020-01-06 15:46  宇宙很浩瀚  閱讀(12597)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲综合久久精品国产高清| 久久综合给合久久狠狠狠88| 亚洲免费人成在线视频观看| 国产午夜精品理论大片| julia无码中文字幕一区| 丝袜美腿亚洲综合在线观看视频| 欧美无人区码suv| 91精品国产麻豆国产自产| 少妇被黑人到高潮喷出白浆| 中文字幕永久精品国产| 久久婷婷大香萑太香蕉AV人| 中文字幕日韩一区二区不卡| 91精品91久久久久久| 波多野结衣av高清一区二区三区 | 亚洲AV日韩精品久久久久| 十四以下岁毛片带血a级| 蜜臀av性久久久久蜜臀aⅴ麻豆| 久久99久久99精品免视看动漫| 欧产日产国产精品精品| 国产91色综合久久免费| 国产一级r片内射免费视频| 美女黄网站人色视频免费国产| 亚洲欧美自偷自拍视频图片| 亚洲欭美日韩颜射在线二| 国产激情一区二区三区不卡| 国产亚洲制服免视频| 亚洲最大福利视频网| 色偷偷亚洲男人的天堂| 国产精品性视频一区二区| 国产精品午夜av福利| 人妻影音先锋啪啪AV资源| av无码久久久久不卡网站蜜桃| 开心五月婷婷综合网站| 麻豆tv入口在线看| 汤原县| 中文字幕久久六月色综合| 99久久婷婷国产综合精品青草漫画| 伊人久久大香线蕉成人| 美女无遮挡免费视频网站| 亚洲高清WWW色好看美女| 免费看黄色片|