創建新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);