HSSFWorkbook创建Excel文档

	/**
	 *  创建Excel文件
	 * @param orderList
	 * @throws Exception 
	 */
	public static void createExecl() throws Exception {
		// 文件名
		String fileName = "D:\\AR.xls";
		// 文件输出流
		FileOutputStream out = new FileOutputStream(fileName);
		// 创建工作簿
		HSSFWorkbook wb = new HSSFWorkbook();
		// 创建工作表
		HSSFSheet sheet = wb.createSheet("sheet1");
		// 创建行和列
		HSSFCell cell = null;
		HSSFRow row = null;
		
		// 创建一个单元的样式
		HSSFCellStyle style = wb.createCellStyle();	
		// 设置单元样式
		setCellStyle(style);
		
		// 创建字体样式
		HSSFFont font = wb.createFont();	
		font.setFontName("黑体");
		font.setFontHeightInPoints((short) 22);
		font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
		
		// 标题行
		String[] headRow1 = {"序号", "学校","", "班级信息","","个人信息","","", "综合考评"};
		String[] headRow2 = {"", "名称", "位置", "年级", "几班", "姓名", "性别", "联系方式", ""};
		
		int rowint = 0;
		int titlerow1 = rowint++;
		// 创建标题行
		row = sheet.createRow(titlerow1);
		for (int i=0; i<headRow1.length; i++) {
			cell = row.createCell(i);
			cell.setCellValue(headRow1[i]);
			cell.setCellStyle(style);
		}
		
		int titlerow2 = rowint++;
		row = sheet.createRow(titlerow2);
		// 创建标题行
		for (int i = 0; i < headRow2.length; i++) {
			cell = row.createCell(i);
			cell.setCellValue(headRow2[i]);
			cell.setCellStyle(style);
		}
		
		// 合并单元格
		sheet.addMergedRegion(new CellRangeAddress(titlerow1, titlerow1, 1, 2)); // 合并第一行
		// 2,三两格,从0开始
		sheet.addMergedRegion(new CellRangeAddress(titlerow1, titlerow1, 3, 4));
		sheet.addMergedRegion(new CellRangeAddress(titlerow1, titlerow1, 5, 7));
		sheet.addMergedRegion(new CellRangeAddress(titlerow1, titlerow2, 8, 8));
		
		// 设置每列的宽度
		int k = 0;
		sheet.setColumnWidth(k++, 4200);
		sheet.setColumnWidth(k++, 4200);
		sheet.setColumnWidth(k++, 4200);
		sheet.setColumnWidth(k++, 4200);
		sheet.setColumnWidth(k++, 4200);
		sheet.setColumnWidth(k++, 4200);
		sheet.setColumnWidth(k++, 4200);
		sheet.setColumnWidth(k++, 4200);
		
		// 放入信息,一般为list,这里用模拟信息
		String[] message = {"1","清华","北京","计算机","1","snow","女","562771681","有"};
		row = sheet.createRow(rowint);
		
		for (int i = 0; i < message.length; i++) {
			 cell=row.createCell(i);
			 cell.setCellStyle(style);
			 cell.setCellValue((message[i]));
		}
		
		wb.write(out);
		out.close();
	}
	/**
	 * 设置单元样式
	 * @param style
	 */
	private static void setCellStyle(HSSFCellStyle style) {
		// 背景色的设定
		style.setFillBackgroundColor(HSSFColor.GREY_25_PERCENT.index);
		// 前景色的设定
		style.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index);
		// 填充模式
		style.setFillPattern(HSSFCellStyle.FINE_DOTS);
		// 设置水平居中
		style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
		// 上下居中
		style.setVerticalAlignment(HSSFCellStyle.ALIGN_CENTER);
		// 设置上下左右边框样式
		style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
		style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
		style.setBorderRight(HSSFCellStyle.BORDER_THIN);
		style.setBorderTop(HSSFCellStyle.BORDER_THIN);
	}

猜你喜欢

转载自z724130632.iteye.com/blog/2218802
今日推荐