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));
上一篇下一篇

猜你喜欢

热点阅读