一、概述

在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);    }}

增加成果:

示例 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);    }}

删除成果:

(本文完)