//獲取工做簿 HSSFWorkbook hwb = new HSSFWorkbook(); //獲取sheet HSSFSheet sheet = hwb.createSheet(); //獲取樣式對象 HSSFCellStyle cellStyle = hwb.createCellStyle(); //設置樣式對象,這裏僅設置了邊框屬性 cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下邊框 cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左邊框 cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//上邊框 cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);//右邊框 //對某一個cell設置邊框 row0 = sheet.createRow(i); cell0 = row0.createCell(j); cell0.setCellStyle(style1); cell0.setCellStyle("測試");
這種纔是對指定的Cell設置樣式(邊框),不能獲取Cell的樣式在進行設置,那樣就會將頁面上的全部Cell都設置成帶邊框的,很是難看。。。java
如下轉自:http://z3sm2012.iteye.com/blog/1446669測試
POI中可能會用到一些須要設置EXCEL單元格格式的操做小結:字體
先獲取工做薄對象:對象
HSSFWorkbook wb = new HSSFWorkbook();blog
HSSFSheet sheet = wb.createSheet();get
HSSFCellStyle setBorder = wb.createCellStyle();it
1、設置背景色:io
setBorder.setFillForegroundColor((short) 13);// 設置背景色
setBorder.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);class
2、設置邊框:方法
setBorder.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下邊框
setBorder.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左邊框
setBorder.setBorderTop(HSSFCellStyle.BORDER_THIN);//上邊框
setBorder.setBorderRight(HSSFCellStyle.BORDER_THIN);//右邊框
3、設置居中:
setBorder.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 居中
4、設置字體:
HSSFFont font = wb.createFont();
font.setFontName("黑體");
font.setFontHeightInPoints((short) 16);//設置字體大小
HSSFFont font2 = wb.createFont();
font2.setFontName("仿宋_GB2312");
font2.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗體顯示
font2.setFontHeightInPoints((short) 12);
setBorder.setFont(font);//選擇須要用到的字體格式
5、設置列寬:
sheet.setColumnWidth(0, 3766); //第一個參數表明列id(從0開始),第2個參數表明寬度值
6、設置自動換行:
setBorder.setWrapText(true);//設置自動換行
7、合併單元格:
Region region1 = new Region(0, (short) 0, 0, (short) 6);
//參數1:行號 參數2:起始列號 參數3:行號 參數4:終止列號
或者用
CellRangeAddress region1 = new CellRangeAddress(rowNumber, rowNumber, (short) 0, (short) 11);
但應注意兩個構造方法的參數不是同樣的,具體使用哪一個取決於POI的不一樣版本。sheet.addMergedRegion(region1);