java excel 操作

來源:互聯網
上載者:User

   歸納總結 java excel 操作:

1.設定不顯示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);//自動根據長度調整儲存格長度


java POI Excel樣式

下面是一個建立儲存格樣式的樣本

/**

* 儲存格標題樣式

* */

private static CellStyle getOrderExcelTitleStyle(Workbook workBook){

CellStyle cellStyle = workBook.createCellStyle();

cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); 

cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);

// 設定儲存格字型

Font headerFont = workBook.createFont(); // 字型

headerFont.setFontHeightInPoints((short)12);

headerFont.setFontName("宋體");

cellStyle.setFont(headerFont);

cellStyle.setWrapText(true);

//填充的背景顏色 

cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);

HSSFPalette palette = ((HSSFWorkbook) workBook).getCustomPalette();

palette.setColorAtIndex(HSSFColor.LIME.index, (byte)147, (byte)205,(byte)221);

titleStyle.setFillForegroundColor(HSSFColor.LIME.index);//前景色彩

titleStyle.setFillBackgroundColor(HSSFCellStyle.THICK_FORWARD_DIAG);

 

// 設定儲存格邊框及顏色

cellStyle.setBorderBottom((short)1);

cellStyle.setBorderLeft((short)1);

cellStyle.setBorderRight((short)1);

cellStyle.setBorderTop((short)1);

cellStyle.setWrapText(true);

HSSFPalette cellPalette = ((HSSFWorkbook) workBook).getCustomPalette(); // 建立顏色 這裡建立的是綠色邊框

cellPalette.setColorAtIndex(HSSFColor.GREEN.index, (byte)116, (byte)210,(byte)129); // 設定 RGB

cellStyle.setLeftBorderColor(HSSFColor.GREEN.index); // 設定邊框顏色

cellStyle.setRightBorderColor(HSSFColor.GREEN.index);

cellStyle.setTopBorderColor(HSSFColor.GREEN.index);

cellStyle.setBottomBorderColor(HSSFColor.GREEN.index);

return cellStyle;

}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.