Java 添加、修改、读取、复制、删除Excel批注

栏目: IT技术 · 发布时间: 4年前

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

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

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

注: Jar文件获取可通过 官网下载包 ,并解压将lib文件夹下的jar文件导入java程序;或通过 maven 下载导入。

导入结果如下:

Java 添加、修改、读取、复制、删除Excel批注

Java代码示例

【示例1】添加批注

import com.spire.xls.*;

import java.awt.*;

public class AddComment {
    public static void main(String[] args) {
        //加载Excel文档
        Workbook wb = new Workbook();
        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();
    }
}

批注添加效果:

Java 添加、修改、读取、复制、删除Excel批注

【示例2】修改批注

import com.spire.xls.*;

public class ModifyComment {
    public static void main(String[] args) {
        //加载excel文档
        Workbook wb = new Workbook();
        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();
    }
}

批注修改结果:

Java 添加、修改、读取、复制、删除Excel批注

【示例3】读取批注

import com.spire.xls.*;

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class ExtractComment {
    public static void main(String[] args)throws IOException {
        //加载excel文档
        Workbook wb = new Workbook();
        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"));*/

    }
}

批注读取结果:

Java 添加、修改、读取、复制、删除Excel批注

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

【示例4】复制批注

import com.spire.xls.*;

import java.awt.*;
import java.awt.image.BufferedImage;

public class CopyComment {
    public static void main(String[] args) {
        //加载Excel文档
        Workbook wb = new Workbook();
        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();
    }
}

批注复制结果:

Java 添加、修改、读取、复制、删除Excel批注

【示例5】删除批注

import com.spire.xls.ExcelVersion;
import com.spire.xls.FileFormat;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class DeleteComment {
    public static void main(String[] args) {
        //加载Excel文档
        Workbook wb = new Workbook();
        wb.loadFromFile("AddComments.xlsx");

        //获取工作表
        Worksheet sheet = wb.getWorksheets().get(0);

        //获取指定单元格中的批注,并删除
        sheet.getRange().get("H2").getComment().remove();

        //保存文档
        wb.saveToFile("DeleteComment.xlsx", ExcelVersion.Version2013);
        wb.dispose();
    }
}

批注删除结果:

Java 添加、修改、读取、复制、删除Excel批注

(本文完)


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

HTML5

HTML5

Matthew David / Focal Press / 2010-07-29 / USD 39.95

Implement the powerful new multimedia and interactive capabilities offered by HTML5, including style control tools, illustration tools, video, audio, and rich media solutions. Understand how HTML5 is ......一起来看看 《HTML5》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

在线进制转换器
在线进制转换器

各进制数互转换器