C# 添加Excel表单控件(Form Controls)
在Excel中,添加的控件可以和单元格关联,我们可以操作控件来修改单元格的内容,在下面的文章中,将介绍在Excel中添加几种不同的表单控件的方法,包括:
- 添加文本框(Textbox)
- 单选按钮(Radio button)
- 复选框(Checkbox)
- 组合框(combo Box)
使用工具
PS:下载安装该组件后,注意在项目程序中添加引用Spire.Xls.dll(dll文件可在安装路径下的Bin文件夹中获取),如下图所示

代码示例
【示例1】插入Excel表单控件
步骤1:创建工作表
//实例化一个Workbook类实例,并获取第1个工作表
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[]; //设置表格行高、列宽
sheet.Range["A1:F1"].ColumnWidth = 15F;
sheet.Range["A1:B12"].RowHeight = 20F;
步骤 2:插入文本框
//插入文本框控件,指定文本框位置、大小以及文本对齐方式
sheet.Range["A1"].Text = "姓名:";
ITextBoxShape textBox = sheet.TextBoxes.AddTextBox(, , , );
textBox.Text = "John";
textBox.HAlignment = CommentHAlignType.Center;
textBox.VAlignment = CommentVAlignType.Center;
步骤 3:插入单选按钮
//插入单选按钮,指定单元格位置
sheet.Range["A3"].Text = "性别:";
IRadioButton radioButton = sheet.RadioButtons.Add(, , , );
radioButton.CheckState = CheckState.Checked;
radioButton.Text = "女";
radioButton = sheet.RadioButtons.Add(, , , );
radioButton.Text = "男";
步骤 4:插入复选框
//插入复选框并指定单元格位置
sheet.Range["A5"].Text = "所在行业:";
ICheckBox checkBox = sheet.CheckBoxes.AddCheckBox(, , , );
checkBox.CheckState = CheckState.Checked;
checkBox.Text = "教育";
checkBox = sheet.CheckBoxes.AddCheckBox(, , , );
checkBox.Text = "医疗";
checkBox = sheet.CheckBoxes.AddCheckBox(, , , );
checkBox.Text = "IT";
checkBox = sheet.CheckBoxes.AddCheckBox(, , , );
checkBox.Text = "零售";
checkBox = sheet.CheckBoxes.AddCheckBox(, , , );
checkBox.Text = "其他";
步骤 5:插入组合框
//插入组合框,并指定单元格位置、大小
sheet["A7"].Text = "年龄(段):";
sheet["A8"].Text = "<18";
sheet["A9"].Text = "18<Y<30";
sheet["A10"].Text = "30<Y<50";
IComboBoxShape comboBox = sheet.ComboBoxes.AddComboBox(, , , );
comboBox.ListFillRange = sheet["A8:A10"];
步骤 6:指定Combox的关联单元格
sheet["A12"].Text = "代表人群类别:";
comboBox.LinkedCell = sheet.Range["B12"];
comboBox.SelectedIndex = ;
步骤 7:保存文档
workbook.SaveToFile("AddFormControls.xlsx", ExcelVersion.Version2010);
运行该项目程序,生成文件(可在项目文件夹bin>Debug下查看文档)

全部代码:
using Spire.Xls;
using Spire.Xls.Core;
using System.Drawing; namespace FormControls_XLS
{
class Program
{
static void Main(string[] args)
{
//实例化一个Workbook类实例,并获取第1个工作表
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[]; //设置表格行高、列宽
sheet.Range["A1:F1"].ColumnWidth = 15F;
sheet.Range["A1:B12"].RowHeight = 20F; //插入文本框控件,指定文本框位置、大小以及文本对齐方式
sheet.Range["A1"].Text = "姓名:";
ITextBoxShape textBox = sheet.TextBoxes.AddTextBox(, , , );
textBox.Text = "John";
textBox.HAlignment = CommentHAlignType.Center;
textBox.VAlignment = CommentVAlignType.Center; //插入单选按钮,指定单元格位置
sheet.Range["A3"].Text = "性别:";
IRadioButton radioButton = sheet.RadioButtons.Add(, , , );
radioButton.CheckState = CheckState.Checked;
radioButton.Text = "女";
radioButton = sheet.RadioButtons.Add(, , , );
radioButton.Text = "男"; //插入复选框并指定单元格位置
sheet.Range["A5"].Text = "所在行业:";
ICheckBox checkBox = sheet.CheckBoxes.AddCheckBox(, , , );
checkBox.CheckState = CheckState.Checked;
checkBox.Text = "教育";
checkBox = sheet.CheckBoxes.AddCheckBox(, , , );
checkBox.Text = "医疗";
checkBox = sheet.CheckBoxes.AddCheckBox(, , , );
checkBox.Text = "IT";
checkBox = sheet.CheckBoxes.AddCheckBox(, , , );
checkBox.Text = "零售";
checkBox = sheet.CheckBoxes.AddCheckBox(, , , );
checkBox.Text = "其他"; //插入组合框,并指定单元格位置、大小
sheet["A7"].Text = "年龄(段):";
sheet["A8"].Text = "<18";
sheet["A9"].Text = "18<Y<30";
sheet["A10"].Text = "30<Y<50";
IComboBoxShape comboBox = sheet.ComboBoxes.AddComboBox(, , , );
comboBox.ListFillRange = sheet["A8:A10"]; //指定组合框的关联单元格
sheet["A12"].Text = "代表人群类别:";
comboBox.LinkedCell = sheet.Range["B12"];
comboBox.SelectedIndex = ; //保存文档
workbook.SaveToFile("AddFormControls.xlsx", ExcelVersion.Version2010);
System.Diagnostics.Process.Start("AddFormControls.xlsx");
}
}
}
【示例 2】 删除Excel表单控件
步骤 1:加载文档,并获取指定单元格
Workbook workbook = new Workbook();
workbook.LoadFromFile("test.xlsx");
Worksheet sheet = workbook.Worksheets[];
步骤 2:删除组合框
for (int i = ; i < sheet.ComboBoxes.Count; i++)
{
sheet.ComboBoxes[i].Remove();
}
步骤 3:保存文档
workbook.SaveToFile("RemoveComboBoxes.xlsx", ExcelVersion.Version2010);
全部代码:
using Spire.Xls; namespace RemoveFormControl_XLS
{
class Program
{
static void Main(string[] args)
{
//创建Workbook实例,加载Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile("test.xlsx"); //获取第一个工作表
Worksheet sheet = workbook.Worksheets[]; //删除工作表中所有的组合框
for (int i = ; i < sheet.ComboBoxes.Count; i++)
{
sheet.ComboBoxes[i].Remove();
} //保存并打开文档
workbook.SaveToFile("RemoveComboBoxes.xlsx", ExcelVersion.Version2010);
System.Diagnostics.Process.Start("RemoveComboBoxes.xlsx");
}
}
}
运行程序后,表格中相应的控件将被删除。
以上是本次关于C#操作Excel表单控件的全部内容,本文完。
(如需转载,请注明出处)
C# 添加Excel表单控件(Form Controls)的更多相关文章
- C#中缓存的使用 ajax请求基于restFul的WebApi(post、get、delete、put) 让 .NET 更方便的导入导出 Excel .net core api +swagger(一个简单的入门demo 使用codefirst+mysql) C# 位运算详解 c# 交错数组 c# 数组协变 C# 添加Excel表单控件(Form Controls) C#串口通信程序
C#中缓存的使用 缓存的概念及优缺点在这里就不多做介绍,主要介绍一下使用的方法. 1.在ASP.NET中页面缓存的使用方法简单,只需要在aspx页的顶部加上一句声明即可: <%@ Outp ...
- Java 添加、删除Excel表单控件
通过表单控件,用户可以快速地将数据填写到模板文档中,轻松引用单元格数据并与其进行交互.本文通过Java代码示例介绍如何在Excel表格中添加表单控件,包括文本框.单选按钮.复选框.组合框.微调按钮等: ...
- 我教女朋友学编程Html系列(6)—Html常用表单控件
做过网页的人都知道,html表单控件十分重要.基本上我们注册会员.登录用户,都需要填写用户名.密码,那些框框都是表单控件. 本来今天就想写一些常用的html表单控件,于是开始搜资料,找到了一个网页,作 ...
- 如何给动态添加的form表单控件添加表单验证
最近使用jQuery Validate做表单验证很方便,api地址为http://www.runoob.com/jquery/jquery-plugin-validate.html 但是在使用的时候也 ...
- Excel中的表单控件和active控件
EXCEL中有两种控件:表单控件和active控件 表单控件是excel5和excel95开始使用的,从excel97开始,active控件开始出现 关于表单控件和active控件的区别和使用范围,网 ...
- Flutter Form表单控件超全总结
注意:无特殊说明,Flutter版本及Dart版本如下: Flutter版本: 1.12.13+hotfix.5 Dart版本: 2.7.0 Form.FormField.TextFormField是 ...
- 前端 HTML body标签相关内容 常用标签 表单标签 form 表单控件分类
表单控件分类 input标签: input标签 type属性的text,password,button按钮,submit按钮 input标签placeholder属性 标签上显示内容 input标签 ...
- 了解HTML表单之13个表单控件
目录 传统控件 button select option optgroup textarea fieldset legend label 新增控件 datalist keygen output pro ...
- Bootstrap系列 -- 18. 表单控件大小
前面看到的表单控件都正常的大小.可以通过设置控件的height,line-height,padding和font-size等属性来实现控件的高度设置.不过Bootstrap框架还提供了两个不同的类名, ...
随机推荐
- 使用xshell链接虚拟机的方法
给大家介绍一下虚拟机和Xshell5连接的基本配置1.安装虚拟机,跟着提示一步一步安装即可,注意添加镜像文件,虚拟机就完成了.2.下载一个Xshell5,安装好之后.要修改虚拟机的网卡状态 1) ...
- 字典的.get方法
字典的.get方法表示是dict.get(key,default)用于判断建是否存在,存在返回键对应的值,不存在返回指定的default值 dict = {'a':1,'b':2} dict.get( ...
- Python_跟随目标主机IP变换
''' 为了防止黑客攻击或者负载均衡,会经常变换主机,这样同一个域名在不同时间可能会对应不同的IP地址,在这种情况下可以通过 socket模块的gethostbyname()函数来实时获取目标主机的I ...
- 小苹果WP(实验吧-隐写术)
本文由荒原之梦原创,原文链接:http://zhaokaifeng.com/?p=706 前言:本文是实验吧训练题库里隐写术部分的一道题:"小苹果"的Write Up. 题目链接: ...
- 远程连接MySQL(MariaDB)数据库
网络环境: MySQL(MariaDB)服务器的操作系统为 CentOS 7 MySQL(MariaDB)服务器IP:172.16.230.15 客户端操作系统为 Windows 2008 R2 客户 ...
- [python]多线程模块thread与threading
Python通过两个标准库(thread, threading)提供了对多线程的支持 thread模块 import time import thread def runner(arg): for i ...
- 下载恒星源码使用vs2015运行配置
需要安装PostgreSQL 配置安装路径下的include 项目 右键→属性 在启动项目项目中配置 右键→属性→展开连接器→输入
- java异常基础整理
1.try-catch e.printStackTrace(); 会打印出方法的调用痕迹,如此例,会打印出异常开始于TestException的第16行,这样就便于定位和分析到底哪里出了异常 2.使用 ...
- SQL2008全部数据导出导入两种方法
方法一:生成脚本导出导入sql2008全部数据第一步,右键要导出的数据库,任务--生成脚本 第二步,在设置脚本编写选项处,点击--高级(A),选择要编写脚本的数据的类型为:架构和数据 如果找不到 要编 ...
- MAC下的mysql忘记密码该怎么办??
不要着急,不要慌,好多人会忙手忙脚,以为自己安装了一个假软件,其实是你打开的方式不对而已! step1: 苹果->系统偏好设置->最下边点mysql 在弹出页面中 关闭mysql服务(点击 ...