poi生成excel表格
2017-11-08 本文已影响11人
吐痰高手
直接上最简单的代码
//生成workbook,对应excel的一个文件
Workbook wb0 = new HSSFWorkbook();
//生成sheet,对应excel的一个表格标签
Sheet sheet0 = wb0.createSheet("sheet1");
for (int j = 0; j < 100; j++) {
//生成一行,对应excel的一行
Row row = sheet0.createRow(j);
for (int i = 0; i < 100; i++) {
//在行的基础上生成一个单元格,这个定位了列
Cell cell = row.createCell(i);
//设置单元格的内容
cell.setCellValue("第"+(j+1)+"行,第"+(i+1)+"列");
}
}
File file = new File("sheet1.xls");
file.createNewFile();
FileOutputStream fos = new FileOutputStream(file);
wb0.write(fos);
fos.close();
//以上代码并没有设置任何格式
1.导包,使用poi的jar包直接从apache官网下载即可
2.看代码
几种样式操作:
// 设置excel每列宽度
sheet.setColumnWidth(0, 4000);//第0列,设置宽度4000
sheet.setColumnWidth(1, 3500);//第1列,设置宽度3500
//设置行高
row.setHeight((short) 500);// 设定行的高度
// 创建单元格样式
HSSFCellStyle style = wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER); //单元格居中
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); //单元格上下居中
style.setFillForegroundColor(HSSFColor.LIGHT_TURQUOISE.index); //不知道
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); //不知道
//设置边框
style.setBottomBorderColor(HSSFColor.RED.index);
style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
style.setBorderRight(HSSFCellStyle.BORDER_THIN);
style.setBorderTop(HSSFCellStyle.BORDER_THIN);
//为样式设置字体
HSSFFont font = wb.createFont();
font.setFontName("Verdana");
font.setBoldweight((short) 100);
font.setFontHeight((short) 300);
font.setColor(HSSFColor.BLUE.index);
style.setFont(font);//设置字体到某个样式中
//最终为某个单元格设置样式
cell.setCellStyle(style1);
// 创建超链接
HSSFHyperlink link = new HSSFHyperlink(HSSFHyperlink.LINK_URL);
link.setAddress("http://www.baidu.com");
cell = row.createCell(1);
cell.setCellValue("百度");
cell.setHyperlink(link);// 设定单元格的链接
// 合并单元格(startRow,endRow,startColumn,endColumn)
sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 2));