poi使用实例
poi版本为3.1【poi-3.1-beta2-20080526.jar、poi-contrib-3.1-beta2-20080526.jar、poi-scratchpad-3.1-beta2-20080526.jar】
打印属性设置--
/**
* 打印时候固定表头设置
*/
public void setPrintTitle(int sheet, int fromRow, int toRow) {
workbook.setRepeatingRowsAndColumns(sheet, -1, -1, fromRow, toRow);//开始列,结束列,开始行,结束行
}
/**
* 打印设置
*/
public void setPrint(HSSFSheet sheet, short paper, boolean ori) {
HSSFPrintSetup pSetup = sheet.getPrintSetup();
pSetup.setPaperSize(paper);//纸张大小
pSetup.setHeaderMargin(0.1D);
if (ori) {
pSetup.setLandscape(true);//设置横行打印
}
}
数据有效性--
/*
* 序列【下拉列表效果】
* @param strFormula【example= "$B$1:$B$2"】设置待产生下拉列表框的有效cell范围:行,列---行,列 ;
* @param firstRow @param firstCol @param endRow @param endCol 下拉框数据来源 ->从第几列几行到 第几列几行
*/
public HSSFDataValidation setDataValidation(String strFormula,short firstRow, short firstCol, short endRow, short endCol) {
HSSFDataValidation data_validation = new HSSFDataValidation((short) (firstRow), (short) firstCol, (short) (endRow),(short) endCol);
data_validation.setDataValidationType(HSSFDataValidation.DATA_TYPE_LIST);
data_validation.setFirstFormula(strFormula);
data_validation.setSecondFormula(null);
data_validation.setExplicitListFormula(true);
data_validation.setSurppressDropDownArrow(false);
data_validation.setEmptyCellAllowed(false);
data_validation.setShowPromptBox(false);
return data_validation;
}
批注--
一个sheet中只能有一个有效patr
HSSFPatriarch patr = aSheet.createDrawingPatriarch();//创建一个patriarch这是一个顶级的容器来存放所有的包含单元格批注shapes
/*
* 添加批注信息
* @param mes 注释内容
*//
public void setComment(HSSFPatriarch patr,String mes){
comment = patr.createComment(new HSSFClientAnchor(0, 0, 0, 0, (short)1, 2, (short) 3, 5));// 设置注释文本显示所对应的行列【显式显式有效】
comment.setString(new HSSFRichTextString(mes));//当鼠标放在被注释过的单元格的时候,会看到注释内容
comment.setAuthor("vicky");
aCell.setCellComment(comment);
}