通过表单控件,用户可以快速地将数据填写到模板文档中,如果你想在不使用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);
}
}