Java操作Excel整理

之前项目通过poi对Excel进行操作,简单整理一下常用的处理。
1.获取Java版本
14.0表示Excel版本是2010,12.0对应2007,15.0对应2013,16.0对应2016

    private String getExcelApplicationVersion()
	{
		ActiveXComponent xl = new ActiveXComponent("Excel.Application");
		String version = new String( xl.getProperty("Version").toString() );
		System.out.println("version=" + xl.getProperty("Version")); 
		return version;
	}
2.通过输入流创建workBook
		private static Workbook createExcel(InputStream in) throws IOException, InvalidFormatException {
		if (!in.markSupported()) {
			in = new PushbackInputStream(in, 8);
		}
		if (POIFSFileSystem.hasPOIFSHeader(in)) {
			return new HSSFWorkbook(in);
		}
		if (POIXMLDocument.hasOOXMLHeader(in)) {
			return new XSSFWorkbook(OPCPackage.open(in));
		}
		throw new IllegalArgumentException("excel版本poi解析不了");
	}

3.取得Workbook以后就可以对excel进行操作了,包括获取sheet,获取某一行,获取某一个单元格等。

Sheet sheet1 = wb.getSheetAt(0);
Sheet  sheet2 = wb.getSheet("sheet1");
XSSFRow tmpRow = sheet.getRow(0);
String tmpValue = tmpRow.getCell(0).getStringCellValue();

4.字体设置

Font font = wb.createFont();
		font.setFontName(fontName);
		font.setBoldweight(bold);
		font.setItalic(isItalic);
		font.setFontHeightInPoints(size);

5.单元格格式设置

CellStyle cellStyle1 = wb.createCellStyle();
cellStyle1.setWrapText(true);// 设置自动换行
			cellStyle1.setAlignment(XSSFCellStyle.ALIGN_CENTER);// 设置水平对齐的样式为居中对齐
			cellStyle1.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);// 设置垂直对齐的样式为居中对齐
			cellStyle1.setFont(fontTitle);
			cellStyle1.setBorderRight(CellStyle.BORDER_THIN);
			cellStyle1.setBorderLeft(CellStyle.BORDER_THIN);
			cellStyle1.setBorderBottom(CellStyle.BORDER_THIN);
			cellStyle1.setBorderTop(CellStyle.BORDER_THIN);
			cellStyle1.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index);
			cellStyle1.setFillPattern(CellStyle.SOLID_FOREGROUND);

6.合并单元格

CellRangeAddress region = new CellRangeAddress(firstRow, lastRow, firstColumn, lastColumn);
sheet.addMergedRegion(region);

7.设置签名

XSSFName name = wb.createName();
name.setNameName( "testQianMing" + sheetIndex);
StringBuffer sb = new StringBuffer();
sb.append("'").append(sheetName).append("'!$")
					.append(cellName.getCol()).append("$").append(cellName.getRow());
name.setRefersToFormula(sb.toString());
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值