通过表单控件,用户可以快速地将数据填写到模板文档中,如果你想在不使用VBA代码的情况下轻松引用单元格数据并与其进行交互,也可使用表单控件。本文将介绍如何使用Spire.XLS for Java给Excel文档添加常见的表单控件例如文本框、单选按钮、复选框和组合框,以及如何删除指定的表单控件。
插入表单控件
import com.spire.xls.*;
import com.spire.xls.core.*;
import java.awt.*;
public class FormControls {
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("性别: ");
//添加单选按钮
IRadioButton radiobutton1 = sheet.getRadioButtons().add(4, 2, 18, 65);
radiobutton1.setText("男");
radiobutton1.setCheckState(CheckState.Checked);
//添加单选按钮
IRadioButton radiobutton2 = sheet.getRadioButtons().add(4, 4, 18, 65);
radiobutton2.setText("女");
sheet.getCellRange("A6").setText("爱好: ");
//添加复选框
ICheckBox checkbox1 = sheet.getCheckBoxes().addCheckBox(6, 2, 18, 65);
checkbox1.setCheckState(CheckState.Checked);
checkbox1.setText("摄影");
/添加复选框
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(1);
//保存文档
workbook.saveToFile("AddControls-zh.xlsx", ExcelVersion.Version2013);
}
}
删除表单控件
import com.spire.xls.*;
public class FormControls {
public static void main(String[] args){
//创建Workbook实例
Workbook workbook = new Workbook();
//加载Excel文档
workbook.loadFromFile("AddControls-zh.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("RemoveControls-zh.xlsx", ExcelVersion.Version2013);
}
}