`
yuzhouchangwan
  • 浏览: 11388 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

poi关于为excle文件添加批注被覆盖问题

    博客分类:
  • java
阅读更多
POI 批注添加 注意事项

在使用POI上传Excel时,对上传的Excel内容进行校验时,错误信息背景加红,并且加批注
/**
* 功能:对校验的excel表的出错的地方背景变红,并且添加备注
*  @param hssfWorkbook
*  @param sheet所操作的excel表
*  @param cell所校验的单元格
*  @param msg准备添加的批注信息
*  @param r 当前所操作的行
* @param  allrow 是这个sheet表一共有几行
*  @param 保存路径
*/
private void  addAnnotateForExcel(HSSFWorkbook hssfWorkbook,HSSFSheet sheet,HSSFCell cell,HSSFPatriarch p,String msg,String savePath,int r,int allrow){
//为单元格添加批注
HSSFComment comment=
p.createComment(newHSSFClientAnchor(0,0,0,0,(short)3,3,(short)5,6));
comment.setString(new HSSFRichTextString(msg));
cell.setCellComment(comment);
//设置背景颜色
HSSFCellStyle style=hssfWorkbook.createCellStyle();
style.setFillPattern(HSSFCellStyle.FINE_DOTS );
        //设置前景色
style.setFillForegroundColor(new HSSFColor.RED().getIndex());
        //设置背景色
     style.setFillBackgroundColor(new HSSFColor.RED().getIndex());
//给单元格添加风格
cell.setCellStyle(style);
if (r==(allrow-1)) {
FileOutputStream stream =null;
try {
stream = new FileOutputStream(savePath);
hssfWorkbook.write(stream);
} catch (Exception e) {
e.printStackTrace();
}finally{
if (stream!=null) {
try {
stream.close();
} catch (IOException e) {
e.printStackTrace();
}}}}
}

注:
1.一张sheet表,只能创建一个绘画对象HSSFPatriarch,如果一张表创建多个绘画对象HSSFPatriarch,在添加批注时,会出现错误,会导致只有最后一行添加了批注
2. HSSFWorkbook  这种创建的工作表,只能对第一张工作表操作
3.在输出过程中,不能添加一次输出一次,必须要等到对最后一行数据校验完毕后才能输出,否则会覆盖点之前的批注或者只能在第一个上添加批注
4,前景色和背景色要配合着使用,否则无法实现背景加色的效果
分享到:
评论

相关推荐

    POI导出Excel文件

    总结起来,Apache POI为Java开发者提供了一种强大且灵活的方式来处理Excel文件,无论是通过Servlet从服务器生成文件,还是在本地通过main方法创建文件。理解如何使用POI库可以帮助你更好地集成Excel功能到你的Java...

    POI_添加批注

    本篇文章主要介绍如何利用 Apache POI 库在 Excel 工作表中为特定单元格添加批注。 #### 二、核心概念 ##### 1. POI - **定义**:Apache POI 是 Apache 软件基金会的一个开源项目,它提供了一组用于读写 Microsoft...

    POI操作Excel完美生成水印

    在Java编程领域,Apache POI 是一个非常流行的库,它允许开发者读取、写入和修改Microsoft Office格式的文件,包括Excel(XLS和XLSX)。本教程将深入探讨如何利用Apache POI来在Excel文件中完美地生成水印。水印通常...

    poi excel poi excel poi excel

    Jakarta POI 是 Apache POI 的早期项目名称,它提供了一组 API 来处理 Microsoft Office 文件格式,特别是针对 Excel(`.xls` 和 `.xlsx`)和 Word(`.doc` 和 `.docx`)文件。Apache POI 项目主要由以下几个子项目...

    使用POI,实现excel文件导出,图片url导出文件,图片和excel文件导出压缩包

    - **关闭输出流**:完成所有文件添加后,记得关闭ZipOutputStream。 在给定的ants-demo项目中,可能已经封装了这些功能,提供了便利的工具类,如Excel导出工具、图片下载工具和压缩包生成工具。你可以通过阅读源...

    SSM框架利用poi导入导出Excel文件 demo

    在本示例"SSM框架利用poi导入导出Excel文件 demo"中,我们将探讨如何在SSM项目中使用Apache POI库来实现Excel文件的导入与导出功能。 Apache POI是一个流行的开源库,它允许开发者在Java应用程序中创建、修改和显示...

    Apache poi 操作 excel 文件压缩包

    在Apache POI中,xmlbeans被用来解析和生成OOXML格式的Excel文件,因为OOXML本质上是一种基于XML的文件格式。 4. **dom4j**: 这是一个强大的Java XML API,用于读写XML文档。在处理XML数据时,POI可能会用到dom4j来...

    Java通过POI和JXL给Excel动态添加水印

    通过以上步骤,我们可以实现在Java程序中使用JXL和POI库给Excel文件添加动态水印的功能。这种技术不仅适用于企业内部的文档管理,还可以用于任何需要保护文档版权和安全性的场景。希望这篇教程能够帮助到有类似需求...

    poi解析excel文件

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如Excel、Word和PowerPoint。在Java环境中,POI 提供了丰富的API来读取、写入和操作这些文件。标题提到的"poi解析excel文件"是利用Apache POI ...

    POI到处excel文件

    Apache POI是一个强大的Java库,专门用于处理Microsoft Office格式的文件,尤其是Excel。在这个场景中,"POI到处excel文件"意味着我们使用Apache POI库来创建、读取和修改Excel文档。以下是对这个主题的详细说明: ...

    poi读取excel文件

    在Java编程环境中,Apache POI库是一个非常重要的工具,它允许开发者读取、写入以及修改Microsoft Office格式的文件,包括Excel的.xls和.xlsx格式。标题提到的"poi读取excel文件",指的是使用Apache POI库来处理...

    poi 解析excel文件内容demo

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,包括Excel。在这个"poi 解析excel文件内容demo"中,我们主要关注如何使用Apache POI库来读取和解析Excel文件,无论它们是2003版的.XLS还是2007...

    POI使用Excel模板文件循环输出行并导出Excel

    在这个特定的例子中,我们将讨论如何使用POI库基于一个Excel模板文件循环输出数据行,并将结果导出为新的Excel文件。 首先,我们需要理解POI库的基本概念。POI提供了HSSF(Horizontally SpreadSheet Format)和XSSF...

    poi批量上传EXCEL文件

    Apache POI 是一个流行的Java库,专门用于处理Microsoft Office格式的文件,包括Excel的.xls和.xlsx格式。本篇将深入探讨如何利用Apache POI库在Java环境中实现EXCEL文件的读取和批量新增操作。 首先,理解Apache ...

    POI处理Excel文件.zip

    Apache POI是一个开源库,主要用于处理Microsoft Office格式的文件,如Excel、Word和PowerPoint。在Excel处理方面,POI提供了强大的API,使得开发者能够轻松地读取、写入和修改Excel文件。针对Excel 2007及以上版本...

    POI读取2007 Excel文件

    标题中的“POI读取2007 Excel文件”指的是使用Apache POI库来解析和操作Microsoft Office Open XML (OOXML)格式的Excel文件,这种格式通常以.xlsx为扩展名。Apache POI是一个流行的Java库,它允许开发人员在Java应用...

    Java 利用poi输出Excel文件

    在Java编程中,Apache POI库是一个非常流行的工具,它允许开发者读取、创建和修改Microsoft Office格式的文件,其中包括Excel。本篇文章将详细介绍如何利用Apache POI来生成Excel文件。 首先,Apache POI是一个开源...

    POI导入Excel并返回校验后的错误文件(原样)下载以及校验错误信息,同时加进度条

    POI导入Excel并返回校验后的错误文件(原样数据文件,并添加批注,注:由于批注只能加1000条,会在Excel后面添加一栏错误信息)下载以及页面展示校验错误信息,同时添加导入进度条,提供页面js和css代码,后端...

    POI读写excel文件+poi简单文档

    Apache POI是一个强大的Java库,专门用于处理Microsoft Office格式的文件,尤其是Excel。这个库使得在Java应用程序中创建、修改和读取Excel文件变得非常容易。在这个“POI读写excel文件+poi简单文档”中,我们将深入...

    struts2+poi实现导出Excel文件

    确保将该 JAR 文件添加到项目的类路径中。 2. **配置 Struts2 Action**:创建一个 Action 类,例如 `panyu.flow.web.action.ExcelAction`,这个类将处理导出 Excel 的逻辑。在 Struts2 的配置文件 `struts.xml` 中...

Global site tag (gtag.js) - Google Analytics