java excel 批注_Java 添加、修改、读取、复制、删除Excel批注

本文详细介绍了如何使用Java编程来操作Excel文档的批注,包括添加批注(设置文本、背景色、字体等)、修改批注内容、读取批注文本和图片以及删除批注,示例代码清晰易懂,适用于Java开发者进行Excel处理。
摘要由CSDN通过智能技术生成

本文介绍通过Java程序来操作Excel批注的方法。操作内容包括批注添加(添加批注文本、背景色、字体、自适应等)、修改、读取(文本、图片)、复制、删除等。

工具:Free Spire.XLS for Java(免费版)

注:Jar文件获取可通过

导入结果如下:

784e268bb31109a0906b44ca96447b33.png

Java代码示例

【示例1】添加批注

import com.spire.xls.*;import java.awt.*;public classAddComment {public static voidmain(String[] args) {//加载Excel文档

Workbook wb = newWorkbook();

wb.loadFromFile("test.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("H2");

range.getComment().setText("税前价格");

range.getComment().setTextRotation(TextRotationType.TopToBottom);

range.autoFitColumns();

range.getComment().setVisible(true);//设置批注是否隐藏

range.getComment().getFill().customPicture("logo.png");//背景图片填充//range.getComment().getFill().setForeColor(new Color(255,228,225));//颜色填充//给指定的Excel单元格添加富文本批注

range = sheet.getCellRange("F2");

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("AddComments.xlsx", ExcelVersion.Version2013);

wb.dispose();

}

}

批注添加效果:

fd69557622a63009d2c8fa88dd815c6a.png

【示例2】修改批注

import com.spire.xls.*;public classModifyComment {public static voidmain(String[] args) {//加载excel文档

Workbook wb = newWorkbook();

wb.loadFromFile("AddComments.xlsx");//获取工作表

Worksheet sheet = wb.getWorksheets().get(0);//获取指定单元格中的批注,设置新的批注文本、填充色

sheet.getRange().get("H2").getComment().setText("不含税价");

sheet.getRange().get("F2").getComment().setText("最新数据");//保存文档

wb.saveToFile("ModifyComment.xlsx",ExcelVersion.Version2013);

wb.dispose();

}

}

批注修改结果:

964d199170cacb6d983e15edeb1281b7.png

【示例3】读取批注

import com.spire.xls.*;importjavax.imageio.ImageIO;import java.awt.*;importjava.awt.image.BufferedImage;importjava.io.File;importjava.io.IOException;public classExtractComment {public static void main(String[] args)throwsIOException {//加载excel文档

Workbook wb = newWorkbook();

wb.loadFromFile("AddComments.xlsx");//获取工作表

Worksheet sheet = wb.getWorksheets().get(0);//打印指定单元格的文本批注内容

System.out.println("H2 的批注文本 = " + sheet.getCellRange("H2").getComment().getText());

System.out.println("F2 的批注文本 = " + sheet.getCellRange("F2").getComment().getRichText().getRtfText());//获取指定单元格中批注背景颜色

Color color = sheet.getRange().get("H2").getComment().getFill().getForeColor();

System.out.print(color);//获取指定单元格中的批注背景图片

/*BufferedImage image = sheet.getRange().get("H2").getComment().getFill().getPicture();

ImageIO.write(image,"png",new File("ExtractedImages.png"));*/}

}

批注读取结果:

3c0ef42eabe9cdebb40965a59bfe7de9.png

读取的图片可在程序文件夹下查看。

【示例4】复制批注

import com.spire.xls.*;import java.awt.*;importjava.awt.image.BufferedImage;public classCopyComment {public static voidmain(String[] args) {//加载Excel文档

Workbook wb = newWorkbook();

wb.loadFromFile("AddComments.xlsx");//获取指定工作表

Worksheet sheet = wb.getWorksheets().get(0);//获取源单元格批注内容

CellRange range = sheet.getRange().get("H2");//获取指定单元格

String commenttext = range.getComment().getText();//获取批注文本

BufferedImage image = range.getComment().getFill().getPicture();//获取批注填充图片//Object object = range.getComment().getFill().getForeColor();//获取批注填充色//获取新的单元格,添加批注文本和图片(颜色)填充

CellRange range1 = sheet.getRange().get("D3");

range1.getComment().setText(commenttext);

range1.getComment().getFill().customPicture(image," ");//range1.getComment().getFill().setForeColor((Color) object);//保存文档

wb.saveToFile("CopyComment.xlsx",ExcelVersion.Version2013);

wb.dispose();

}

}

批注复制结果:

46d995c195389a641ef89e90429b47d5.png

【示例5】删除批注

importcom.spire.xls.ExcelVersion;importcom.spire.xls.FileFormat;importcom.spire.xls.Workbook;importcom.spire.xls.Worksheet;public classDeleteComment {public static voidmain(String[] args) {//加载Excel文档

Workbook wb = newWorkbook();

wb.loadFromFile("AddComments.xlsx");//获取工作表

Worksheet sheet = wb.getWorksheets().get(0);//获取指定单元格中的批注,并删除

sheet.getRange().get("H2").getComment().remove();//保存文档

wb.saveToFile("DeleteComment.xlsx", ExcelVersion.Version2013);

wb.dispose();

}

}

批注删除结果:

c499c002c758a05e6a62afd576d3d1da.png

(本文完)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值