转载

Java 添加、删除Excel表单控件

一、概述

在Excel中录入数据的同时可能会需要插入一些表单控件作为辅助功能。通过表单控件,用户可快速地将数据填写到模块文档中。Excel文档中的常见表单控件有文本框、单选按钮、复选框和组合框。本文就将通过使用Java程序来演示如何添加、删除Excel表单控件。

二、环境创建

本文代码演示所用到的工具是 Free Spire.XLS for Java 。可通过 官网 免费下载获取,下载后解压文档,并将lib文件夹下的Spire.Xls.jar导入Java程序。

另外,也可直接通过 maven仓库 安装产品及导入相关依赖包。

三、代码示例

示例 1添加表单控件

import com.spire.xls.*;
import com.spire.xls.core.*;
import java.awt.*;

public class AddControls {
    public static void main(String[] args) {
        //创建Workbook实例
        Workbook workbook = new Workbook();
        //获取第一个工作表
        Worksheet sheet = workbook.getWorksheets().get(0);

        sheet.getCellRange("A2").setText("姓名: ");
        //添加文本框
        ITextBoxShape textbox = sheet.getTextBoxes().addTextBox(2, 2, 18, 65);
        textbox.setText("王春娇");
        textbox.getFill().setForeColor(Color.PINK);
        textbox.setHAlignment(CommentHAlignType.Center);
        textbox.setVAlignment(CommentVAlignType.Center);

        sheet.getCellRange("A4").setText("性别: ");
        //添加单选按钮1
        IRadioButton radiobutton1 = sheet.getRadioButtons().add(4, 2, 18, 65);
        radiobutton1.setText("男");
        radiobutton1.setCheckState(CheckState.Checked);
        //添加单选按钮2
        IRadioButton radiobutton2 = sheet.getRadioButtons().add(4, 4, 18, 65);
        radiobutton2.setText("女");

        sheet.getCellRange("A6").setText("爱好: ");
        //添加复选框1
        ICheckBox checkbox1 = sheet.getCheckBoxes().addCheckBox(6, 2, 18, 65);
        checkbox1.setCheckState(CheckState.Checked);
        checkbox1.setText("摄影");
        //添加复选框2
        ICheckBox checkbox2 = sheet.getCheckBoxes().addCheckBox(6, 4, 18, 65);
        checkbox2.setCheckState(CheckState.Checked);
        checkbox2.setText("阅读");

        sheet.getCellRange("A8").setText("职业: ");
        sheet.getCellRange("A20").setText("学生");
        sheet.getCellRange("A21").setText("教师");
        sheet.getCellRange("A22").setText("医生");
        //添加组合框
        IComboBoxShape combobox = sheet.getComboBoxes().addComboBox(8, 2, 18, 65);
        combobox.setListFillRange(sheet.getCellRange("A20:A22"));
        combobox.setSelectedIndex(2);

        sheet.getCellRange("A10").setText("行政级别:");
        //添加微调按钮
        ISpinnerShape spinnerShape = sheet.getSpinnerShapes().addSpinner(10,2,18,30);
        spinnerShape.setCurrentValue(1);
        spinnerShape.setDisplay3DShading(true);
        spinnerShape.setLinkedCell(sheet.getCellRange("B10"));
        spinnerShape.setMin(1);
        spinnerShape.setMax(5);

        //保存文档
        workbook.saveToFile("Output/AddControls.xlsx", ExcelVersion.Version2013);
    }
}

添加效果:

Java 添加、删除Excel表单控件

示例 2删除表单控件

import com.spire.xls.*;

public class RemoveControls {
    public static void main(String[] args) {
        //创建Workbook实例
        Workbook workbook = new Workbook();
        //加载Excel文档
        workbook.loadFromFile("C://Users//Test1//Desktop//AddControls.xlsx");
        //获取第一个工作表
        Worksheet sheet = workbook.getWorksheets().get(0);

        //删除工作表中的所有单选按钮
        for(int j = 0; j < sheet.getRadioButtons().getCount(); j ++){
            sheet.getRadioButtons().get(j).remove();
        }

        //删除工作表中的所有复选框
        for(int i = 0; i < sheet.getCheckBoxes().getCount(); i ++){
            sheet.getCheckBoxes().get(i).remove();
        }

        //保存文档
        workbook.saveToFile("Output/RemoveControls.xlsx", ExcelVersion.Version2013);
    }
}

删除效果:

Java 添加、删除Excel表单控件

(本文完)

原文  https://segmentfault.com/a/1190000023304802
正文到此结束
Loading...