现在的位置: 首页 > 综合 > 正文

EXCEL HSSFCellStyle导出样式设置

2018年05月28日 ⁄ 综合 ⁄ 共 1345字 ⁄ 字号 评论关闭

最近写的项目里,需要将人员信息导出成EXCEL表,做一下备份

HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(
					inputfile)); // 读取excel模板
			HSSFSheet sheet = workbook.getSheetAt(0); // 读取第一个工作簿
			
			HSSFRow row;
			HSSFCell cell = null;
			int rownum = 1; // 添加的起始行
			HSSFCellStyle style = getStyle(workbook);
			style.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 下边框
			style.setBorderLeft(HSSFCellStyle.BORDER_THIN);// 左边框
			style.setBorderTop(HSSFCellStyle.BORDER_THIN);// 上边框
			style.setBorderRight(HSSFCellStyle.BORDER_THIN);// 右边框
//字体设置
			HSSFFont f = workbook.createFont();
			f.setFontName("宋体");
			f.setFontHeightInPoints((short) 10);// 字号
			style.setFont(f);
			row = sheet.getRow(rownum);
//将图片导入到excel中
			// 先把读进来的图片放到一个ByteArrayOutputStream中,以便产生ByteArray
						ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
//filePath 替换为图片路径
						BufferedImage bufferImg = ImageIO.read(new File(
								filePath));
						ImageIO.write(bufferImg, "jpg", byteArrayOut);
						HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
						HSSFClientAnchor anchor = new HSSFClientAnchor(10,10, 1023, 255,
								(short) 7, 1, (short) 7, 4);
						patriarch
								.createPicture(anchor, workbook.addPicture(
										byteArrayOut.toByteArray(),
										HSSFWorkbook.PICTURE_TYPE_JPEG));
HSSFClientAnchor(dx1,dy1,dx2,dy2,col1,row1,col2,row2) 
col1,row1代表图片左上角所在的单元格,col2,row2代表图片右下角所在的单元格
dx1,dy1代表图片左上角所在单元格中 左上角顶点的xy坐标,同理<pre name="code" class="java">dx2,dy2代表图片右下角所在单元格中 左上角顶点的xy坐标,
注:dx1,dy1需要设置一下,我这边设置成10,10,不然图片会把单元格的边框覆盖掉,
dx2,dy2在使用中暂时没有设置,不设置应该是全填充的样式。


抱歉!评论已关闭.