HSSFSheet Excel导出,第一行添加注释

143 阅读1分钟
private static HSSFSheet buildDataSheet(HSSFWorkbook workbook) {
	//创建HSSFSheet
    HSSFSheet sheet = workbook.createSheet();
    HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
    HSSFRow row = sheet.getRow(0);
    for(int cellnum = 0;cellnum<row.getLastCellNum(); cellnum++) {
        HSSFCell cell = row.getCell(cellnum);
        if(cell == null){
           	continue;
        }
        switch (cellnum) {
        	case 0:
        		addComment(patriarch, cell, "资产编号在第一次导入的时候不填,在导入修改的时候必须填");
        		break;
        	case 2:
       	 		addComment(patriarch, cell, "请输入或选择系统中存在的分类名称");
       	 		break;
        	case 7:
       	 		addComment(patriarch, cell, "请输入或选择系统中存在的存放地点名称");
       	 		break;
        	case 8:
       	 		addComment(patriarch, cell, "请输入或选择系统中存在的入库方式");
       	 		break;
        	case 10:
       	 		addComment(patriarch, cell, "当入库方式为其它入库时,不可填写订单编号,当入库方式为采购入库时,必须填写订单编号");
       	 		break;
        	case 11:
       	 		addComment(patriarch, cell, "请输入或选择系统中存在的供应商名称");
       	 		break;
        	case 15:
       	 		addComment(patriarch, cell, "请输入或选择系统中存在的状态");
       	 		break;
        	case 16:
       	 		addComment(patriarch, cell, "请输入或选择系统中存在的资产类型");
       	 		break;
        	case 17:
       	 		addComment(patriarch, cell, "当资产类型为主资产时,不可填写所属主资产,当资产类型为附资产时,必须填写主资产");
       	 		break;
       	 	
        	 }
        }
}

public static void addComment(HSSFPatriarch patriarch, HSSFCell cell, String value){
	HSSFComment comment = patriarch.createComment(new HSSFClientAnchor(0, 0, 0, 0, (short)1, 2, (short)4, 4));
   	comment.setString(new HSSFRichTextString(value));
    cell.setCellComment(comment);

}

效果展示