Java 添加、删除Excel表单控件

发表于:2020-7-21 10:46

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Tina_Tang    来源:SegmentFault博客

  一、概述
  在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);
}
}
  删除效果:

本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号