在Excel中,添加的控件可以和单元格关联,我们可以操作控件来修改单元格的内容,在下面的文章中,将介绍在Excel中添加几种不同的表单控件的方法,包括:

添加文本框单选按钮复选框组合框

使用工具:Free Spire.XLS for .NET 8.3 (社区版)
PS:下载安装该组件后,注意在项目程序中添加引用Spire.XLS.dll(dll文件可在安装路径下的Bin文件夹中获取),如下图所示

代码示例:

插入Excel表单控件
【C#】

using Spire.Xls;using Spire.Xls.Core;using System.Drawing;namespace FormControls_XLS{ class Program { static void Main(string[] args) { //实例化一个Workbook类实例,并向工作簿中添加一个Worksheet Workbook workbook = new Workbook(); Worksheet sheet = workbook.Worksheets[0]; //插入文本框控件,设置文本框位置、大小、颜色以及对齐方式 ITextBoxShape textBox = sheet.TextBoxes.AddTextBox(1, 1, 19, 65); textBox.Fill.ForeColor = Color.Green; //设置表格行高、列宽 sheet.Range["A2:A3"].ColumnWidth = 30F; sheet.Range["A2:B11"].RowHeight = 20F; //添加文本框,设置对齐方式 textBox.Text = "手机消费问卷调查"; textBox.HAlignment = CommentHAlignType.Center; textBox.VAlignment = CommentVAlignType.Center; //插入单选按钮,并指定到单元格位置 sheet.Range["A3"].Text = "您的性别:"; IRadioButton radioButton = sheet.RadioButtons.Add(3, 2, 20, 80); radioButton.CheckState = CheckState.Checked; radioButton.Text = "女"; radioButton = sheet.RadioButtons.Add(3, 3, 20, 80); radioButton.Text = "男"; //插入复选框并指定单元格位置 sheet.Range["A5"].Text = "您所在行业:"; ICheckBox checkBox = sheet.CheckBoxes.AddCheckBox(5, 2, 18, 65); checkBox.CheckState = CheckState.Checked; checkBox.Text = "教育"; checkBox = sheet.CheckBoxes.AddCheckBox(5, 3, 18, 65); checkBox.Text = "医疗"; checkBox = sheet.CheckBoxes.AddCheckBox(5, 4, 18, 65); checkBox.Text = "IT"; checkBox = sheet.CheckBoxes.AddCheckBox(5, 5, 18, 65); checkBox.Text = "零售"; checkBox = sheet.CheckBoxes.AddCheckBox(5, 6, 18, 65); checkBox.Text = "其他"; sheet.Range["A7"].Text = "您对手机的外观要求:"; checkBox = sheet.CheckBoxes.AddCheckBox(7, 2, 18, 65); checkBox.CheckState = CheckState.Checked; checkBox.Text = "屏幕尺寸"; checkBox = sheet.CheckBoxes.AddCheckBox(7, 3, 18, 65); checkBox.Text = "外观材质"; checkBox = sheet.CheckBoxes.AddCheckBox(7, 4, 18, 65); checkBox.CheckState = CheckState.Checked; checkBox.Text = "外观颜色"; //插入组合框,指定位置并设置关联单元格 sheet["A9"].Text = "您对手机的功能要求:"; sheet["A10"].Text = "娱乐"; sheet["A11"].Text = "商务"; sheet["A12"].Text = "其他"; IComboBoxShape comboBox = sheet.ComboBoxes.AddComboBox(9, 2, 18, 65); comboBox.ListFillRange = sheet["A10:A12"]; comboBox.LinkedCell = sheet.Range["C9"]; comboBox.SelectedIndex = 2; //保存并打开文档 workbook.SaveToFile("AddFormControls.xlsx", ExcelVersion.Version2010); System.Diagnostics.Process.Start("AddFormControls.xlsx"); } }}

运行该项目程序,生成文件(可在项目文件夹下bin>Debug下查看文档)

删除Excel表单控件
【C#】

using Spire.Xls;namespace RemoveFormControl_XLS{ class Program { static void Main(string[] args) { //创建Workbook实例,加载Excel文档 Workbook workbook = new Workbook(); workbook.LoadFromFile("AddFormControls.xlsx"); //获取第一个工作表 Worksheet sheet = workbook.Worksheets[0]; //删除工作表中所有的复选框 for (int i = 0; i < sheet.CheckBoxes.Count; i++) { sheet.CheckBoxes[i].Remove(); } //保存并打开文档 workbook.SaveToFile("RemoveCheckBoxes.xlsx", ExcelVersion.Version2010); System.Diagnostics.Process.Start("RemoveCheckBoxes.xlsx"); } }}

表单删除效果:

以上是本次关于C#操作Excel表单控件的全部内容,

本文完

(如需转载,请注明出处)