批注,是作者或审阅者给文档添加的注释或注解。通过查看批注,可以更加详细地了解某些文字的背景。除了直接添加文本信息外,还可为文本信息填充背景图片使其更具丰富性和美观性。本文将通过使用Java程序来演示如何在Excel文档中添加、修改、读取、复制和删除批注。
使用工具: Free Spire.XLS for Java (免费版)
Jar文件获取及导入:
方法1:通过官方网站下载获取jar包。解压后将lib文件夹下的Spire.Xls.jar文件导入Java程序。(如下图)

方法2:通过maven仓库安装导入。具体安装详解参见此网页。
【示例1】添加批注
import com.spire.xls.*;
import java.awt.*;
public class AddComments {
public static void main(String[] args) {
//加载Excel文档
Workbook wb = new Workbook();
wb.loadFromFile("D:DesktopSample.xlsx");
//获取工作表
Worksheet sheet = wb.getWorksheets().get(0);
//创建字体
ExcelFont font = wb.createFont();
font.setFontName("Arial");
font.setSize(11);
font.setKnownColor(ExcelColors.Orange);
ExcelFont fontBlue = wb.createFont();
fontBlue.setKnownColor(ExcelColors.LightBlue);
ExcelFont fontGreen = wb.createFont();
fontGreen.setKnownColor(ExcelColors.LightGreen);
//给指定的Excel单元格添加普通批注
CellRange range = sheet.getCellRange("G3");
range.getComment().setText("正式员工");
range.getComment().setTextRotation(TextRotationType.TopToBottom);
range.autoFitColumns();
range.getComment().setVisible(true);//设置批注是否隐藏
range.getComment().getFill().customPicture("D:DesktopImage.jpg");//背景图片填充
//range.getComment().getFill().setForeColor(new Color(255,228,225));//颜色填充
// 给指定的Excel单元格添加富文本批注
range = sheet.getCellRange("G7");
range.getRichText().setFont(0, 8, font);
range.autoFitColumns();
range.getComment().getRichText().setText("试用员工");
range.getComment().getRichText().setFont(0, 4, fontGreen);
range.getComment().getRichText().setFont(3, 4, fontBlue);
//保存结果文档
wb.saveToFile("output/AddComments.xlsx", ExcelVersion.Version2013);
wb.dispose();
}
}
批注添加效果:

【示例2】修改批注
import com.spire.xls.*;
public class ModifyComments {
public static void main(String[] args) {
//加载excel文档
Workbook wb = new Workbook();
wb.loadFromFile("D:DesktopAddComments.xlsx");
//获取工作表
Worksheet sheet = wb.getWorksheets().get(0);
//获取指定单元格中的批注,设置新的批注文本、填充色
sheet.getRange().get("G3").getComment().setText("个人使用");
sheet.getRange().get("G7").getComment().setText("团队使用");
//保存文档
wb.saveToFile("output/ModifyComment.xlsx",ExcelVersion.Version2013);
wb.dispose();
}
}










