C# 如何向Excel添加、删除表单控件

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

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

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

代码示例:

  1. 插入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下查看文档)
C# 如何向Excel添加、删除表单控件

  1. 删除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添加、删除表单控件
以上是本次关于C#操作Excel表单控件的全部内容,

本文完

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

猜你喜欢

转载自blog.51cto.com/eiceblue/2137031
今日推荐