在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); } }
(本文完)