批注是一種富文本注釋,常用於為指定的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); } }