您的位置:首页 > 其它

用POI导出Excel的基本操作

2011-08-19 11:21 417 查看
//创建工作表
HSSFWorkbook workbook = new HSSFWorkbook();

HSSFSheet sheet = workbook.createSheet(“统计结果”);

sheet.setColumnWidth((short) 1, (short) (1024 * 5));//设置相应列的宽度

// 生成一个样式,表格的标题相关样式

HSSFCellStyle titleStyle = workbook.createCellStyle();

// 设置这些样式

titleStyle.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index);

titleStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);

titleStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);

titleStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);

titleStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);

titleStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);

titleStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);

// 生成一个字体

HSSFFont titleFont = workbook.createFont();

titleFont.setColor(HSSFColor.BLACK.index);// 颜色

titleFont.setFontHeightInPoints((short) 12);// 字体大小

titleFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);// 粗体

titleStyle.setFont(titleFont); // 把字体应用到当前的样式

// 产生表格行

HSSFRow titleRow = sheet.createRow(0);

String[] titleContent = { "类型", "路径", "对象"};

for (short i = 0; i < titleContent.length; i++) {

HSSFCell cell = titleRow.createCell(i);

cell.setCellStyle(titleStyle);

HSSFRichTextString text = new HSSFRichTextString(titleContent[i]);

cell.setCellValue(text);

}

// 合并列

Region rr1 = new Region(beginNum, (short) 0, (beginNum + condList.size() - 1), (short) 0); //参数为起始行,起始列,结束行,结束列

sheet.addMergedRegion(region);

// 设置合并单元格的样式的通用方法

private void setRegionStyle(HSSFSheet sheet, Region region, HSSFCellStyle cs) {

for (int i = region.getRowFrom(); i <= region.getRowTo(); i++) {

HSSFRow row = sheet.getRow(i);

if (region.getColumnFrom() != region.getColumnTo()) {

for (int j = region.getColumnFrom(); j <= region.getColumnTo(); j++) {

HSSFCell cell = row.getCell((short) j);

if (cell == null) {

cell = row.createCell((short) j);

}

cell.setCellStyle(cs);

}

}

}

sheet.addMergedRegion(region);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: