批註是一種富文本註釋,常用於爲指定的Excel單元格添加提示或附加信息。 Free Spire.XLS for Java 爲開發人員免費提供了在Java應用程序中對Excel文件添加和操作批註的功能。 本文將介紹如何使用Free Spire.XLS for Java在Excel文檔中添加,讀取和刪除批註。
安裝
首先你需要下載Spire.XLS JAR並將其作爲依賴項添加到您的Java程序中。如果您使用的是maven,您需要將以下依賴項添加到您的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>
添加批註
下面的示例將演示如何使用免費的Free Spire.XLS for Java將批註添加到Excel文件中,併爲批註文本中各個字符設置不同的字體顏色。
import com.spire.xls.*;
public class AddComments {
public static void main(String[] args){
//新建Excel文檔
Workbook workbook = new Workbook();
//獲取第一張工作表
Worksheet sheet = workbook.getWorksheets().get(0);
//設置工作表名稱
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);
//設置批註高度
range1.getComment().setHeight(100);
//創建字體並設置字體顏色
ExcelFont fontBlue = workbook.createFont();
fontBlue.setKnownColor(ExcelColors.LightBlue);
ExcelFont fontGreen = workbook.createFont();
fontGreen.setKnownColor(ExcelColors.LightGreen);
//設置批註文本中各個字符的字體
range1.getComment().getRichText().setFont(0, 1, fontGreen);
range1.getComment().getRichText().setFont(2, 3, fontBlue);
range1.getComment().getRichText().setFont(4, 5, fontGreen);
//保存結果文檔
workbook.saveToFile("添加批註.xlsx", ExcelVersion.Version2013);
}
}
讀取批註
Free Spire.XLS for Java支持讀取所有批註以及與Excel工作表中指定單元格相關聯的特定批註。
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);
}
//打印與指定單元格相關聯的批註
//System.out.println(sheet.getCellRange(5,1).getComment().getText());
}
}
刪除批註
通過使用Free Spire.XLS for Java我們可以刪除所有註釋,也可以刪除與Excel工作表中指定單元格相關聯的特定批註。
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();
}
//刪除與指定單元格相關聯的批註
sheet.getCellRange(5,1).getComment().remove();
workbook.saveToFile("刪除批註.xlsx", ExcelVersion.Version2013);
}
}