POI詳解

創建新Excel

// 創建新的Excel工作簿
HSSFWorkbook workbook = new HSSFWorkbook();
// 在Excel工作簿中建一工作表,其名爲缺省值
// 如要新建一名爲"效益指標"的工作表,其語句爲:
// HSSFSheet sheet =workbook.createSheet("效益指標");
HSSFSheet sheet = workbook.createSheet();// 合併單元格,將第0行,從0列到10列合併
//sheet.addMergedRegion(newRegion(0, (short) 0, 0, (short) 10));//此方法已不推薦使用
sheet.addMergedRegion(new CellRangeAddress(0,0, 1, 4));// 推薦(起行,結行,起列,結列)
// 在sheet索引0的位置創建行(最頂端的行)
HSSFRow row = sheet.createRow(0);
row.setHeight((short)400);//將row的行高設爲40px
//在row索引0的位置創建單元格(左上端)
HSSFCell cell = row.createCell(0);
// 定義單元格爲字符串類型
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
// 在單元格中輸入一些內容
cell.setCellValue("增加值");
// 新建一輸出文件流File file = new File(String fileUrlName);
FileOutputStream fOut = newFileOutputStream(file);
// 把相應的Excel工作簿存盤
workbook.write(fOut);
fOut.flush();
// 操作結束,關閉文件
fOut.close();

###########################################################################################

Excel單元格樣式

創建紅色、粗體字體

HSSFFont font = workbook.createFont();
font.setColor(HSSFFont.COLOR_RED);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);

創建格式,將字體應用到格式

HSSFCellStyle cellStyle=workbook.createCellStyle();
cellStyle.setFont(font);

3、應用格式

HSSFCell cell = row.createCell((short) 0);
cell.setCellStyle(cellStyle);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue("標題 ");

POI中可能會用到一些需要設置EXCEL單元格格式的操作小結:

先獲取工作薄對象:

HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet();
HSSFCellStyle setBorder =wb.createCellStyle();

一、設置背景色:

setBorder.setFillForegroundColor((short)13);// 設置背景色
setBorder.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);

二、設置邊框:

setBorder.setBorderBottom(HSSFCellStyle.BORDER_THIN);//下邊框
setBorder.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左邊框
setBorder.setBorderTop(HSSFCellStyle.BORDER_THIN);//上邊框
setBorder.setBorderRight(HSSFCellStyle.BORDER_THIN);//右邊框

三、設置居中:

setBorder.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 水平居中
setBorder.setAlignment(HSSFCellStyle.VERTICAL_CENTER);  //垂直居中

四、設置字體:

HSSFFont font = wb.createFont();font.setFontName("黑體");font.setFontHeightInPoints((short) 16);//設置字體大小
font2.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗體顯示
setBorder.setFont(font);//選擇需要用到的字體格式

五、設置列寬:

//第一個參數代表列id(從0開始),第2個參數代表寬度值參考:"2012-08-10"的寬度爲2500
sheet.setColumnWidth(0,3766);

六、設置自動換行:

setBorder.setWrapText(true);//設置自動換行

七、合併單元格:

//參數1:行號 參數2:起始列號 參數3:行號 參數4:終止列號
sheet.addMergedRegion (new Region(0,(short)1,0,(short) 2));//不推薦使用
sheet.addMergedRegion(new CellRangeAddress(0,0,0,4));//推薦使用(起行,結行,起列,結列)

八、row的一些方法

1、設置行高

row.setHeight((short)400);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章