批注是一種富文本注釋逛钻,常用于為指定的Excel單元格添加提示或附加信息僚焦。?Free Spire.XLS for Java?為開發(fā)人員免費(fèi)提供了在Java應(yīng)用程序中對Excel文件添加和操作批注的功能。本文將介紹如何使用Free Spire.XLS for Java在Excel文檔中添加曙痘,讀取和刪除批注芳悲。
安裝
首先你需要下載Spire.XLS JAR并將其作為依賴項(xiàng)添加到您的Java程序中。如果您使用的是maven边坤,您需要將以下依賴項(xiàng)添加到您的pom.xml文件中名扛。
<repositories>
????????<repository>
????????????<id>com.e-iceblue</id>
????????????<name>e-iceblue</name>
??????????? <url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>
????????</repository>
</repositories>
<dependencies>
????<dependency>
????????<groupId>e-iceblue</groupId>
????????<artifactId>spire.xls.free</artifactId>
????????<version>2.2.0</version>
?? </dependency>
</dependencies>
添加批注
下面的示例將演示如何使用免費(fèi)的Free Spire.XLS for Java將批注添加到Excel文件中,并為批注文本中各個字符設(shè)置不同的字體顏色惩嘉。
import?com.spire.xls.*;
public?class?AddComments?{
????public?static?void?main(String[]?args){
????????//新建Excel文檔
????????Workbook?workbook?=?new?Workbook();
????????//獲取第一張工作表
????????Worksheet?sheet?=?workbook.getWorksheets().get(0);
????????//設(shè)置工作表名稱
????????sheet.setName("批注");
????????//添加文本到單元格[1,1]
????????CellRange?range?=?sheet.getCellRange(1,1);
????????range.setText("添加批注:");
????????//添加文本到單元格?[5,1]
????????CellRange?range1?=?sheet.getCellRange(5,?1);
????????range1.setText("批注");
????????//添加批注到單元格?[5,1]
????????range1.getComment().setText("這是一個批注\n它可以是多行的罢洲。");
????????//展示批注
????????range1.getComment().setVisible(true);
????????//設(shè)置批注高度
????????range1.getComment().setHeight(100);
????????//創(chuàng)建字體并設(shè)置字體顏色
????????ExcelFont?fontBlue?=?workbook.createFont();
????????fontBlue.setKnownColor(ExcelColors.LightBlue);
????????ExcelFont?fontGreen?=?workbook.createFont();
????????fontGreen.setKnownColor(ExcelColors.LightGreen);
????????//設(shè)置批注文本中各個字符的字體
????????range1.getComment().getRichText().setFont(0,?1,?fontGreen);
????????range1.getComment().getRichText().setFont(2,?3,?fontBlue);
????????range1.getComment().getRichText().setFont(4,?5,?fontGreen);
????????//保存結(jié)果文檔
????????workbook.saveToFile("添加批注.xlsx",?ExcelVersion.Version2013);
???? }
}
讀取批注
Free Spire.XLS for Java支持讀取所有批注以及與Excel工作表中指定單元格相關(guān)聯(lián)的特定批注。
import?com.spire.xls.*;
public?class?ReadComments?{
????public?static?void?main(String[]?args){
????????//加載Excel文檔
????????Workbook?workbook?=?new?Workbook();
????????workbook.loadFromFile("添加批注.xlsx");
????????//獲取第一張工作表
????????Worksheet?sheet?=?workbook.getWorksheets().get(0);
????????//打印工作表中所有的批注
????????for(int?i?=?0;?i?<?sheet.getComments().getCount();?i?++){
????????????String?comment?=?sheet.getComments().get(i).getText();
????????????System.out.println(comment);
????????}
????????//打印與指定單元格相關(guān)聯(lián)的批注
????? //System.out.println(sheet.getCellRange(5,1).getComment().getText());
??? ? }
}
刪除批注
通過使用Free Spire.XLS for Java我們可以刪除所有注釋文黎,也可以刪除與Excel工作表中指定單元格相關(guān)聯(lián)的特定批注惹苗。
import?com.spire.xls.*;
public?class?DeleteComments?{
????public?static?void?main(String[]?args){
????????//加載Excel文檔
????????Workbook?workbook?=?new?Workbook();
????????workbook.loadFromFile("添加批注.xlsx");
????????//獲取第一張工作表
????????Worksheet?sheet?=?workbook.getWorksheets().get(0);
????????//刪除工作表中所有批注
????????for(int?i?=?0;?i?<?sheet.getComments().getCount();?i?++){
????????????sheet.getComments().get(i).remove();
????????}
????????//刪除與指定單元格相關(guān)聯(lián)的批注
????????sheet.getCellRange(5,1).getComment().remove();
????????workbook.saveToFile("刪除批注.xlsx",?ExcelVersion.Version2013);
????? }
}