基于C#语言在Excel中进行二次开发(一):简单系统搭建:打印输出”Hello Excel & C#”
- 实现效果
- 第一步:前期准备
- 第二步:打开VS 2022,创建项目
- 第三步:程序界面设计
实现效果
在Excel表格的工具栏中生成自定义的“TabToolkits”工具选项,点击“Hello Excel”选项,即可弹出“Hello Excel & C#”,并在表格第一行生成“欢迎使用C#对Excel进行二次开发”。
第一步:前期准备
- 新建Excel文件,如果没有“开发工具”一栏,进行后续操作。
- 以此点击“文件”——>“选项”——>“自定义功能区”——>勾选“开发工具”,即可。
- 以此点击“文件”——>“选项”——>“加载项”——>在管左下角管理中选择“COM加载项”,即可。
第二步:打开VS 2022,创建项目
- 打开VS 2022,点击“创建新项目(N)”
- 选择“Excel VSTO外接程序”,点击“下一步”。
- 修改“项目名称”,“位置”和“解决方案名称”,点击“创建”即可。
- 鼠标右击“ExcelHello”,选择“添加”——>“新建项”。
5.选择“Office/SharePoint”——>“功能区(可视化设计器)”——>修改“名称”——>“创建”。
注1:如果如下图所示左侧没有“工具箱”
解决方法:按快捷键“Ctrl+Alt+X”,或者在“视图”选项卡下,选择“工具箱”,即可调出。
注2:如果在VS 2022右下角没有“属性选项卡”
解决方法:在VS 2022右下角鼠标右击选择“属性”,即可调出
注3:如果“解决方案资源管理器”误关的话
解决方法:在“视图”选项卡下,点击“解决方案资源管理器”,即可在软件界面右侧显示。
第三步:程序界面设计
- 鼠标点击“TabAddIns”,在属性设置框中的Label里修改名称为“TabToolkits”。
- 鼠标单击“button1”,进入“button1”的属性设置。(Name)表示软件内部的名字,修改为:btnHello,Label表示显示的名字,修改为:Hello Excel。(Image)表示“button1”前的图标。
- 设置小图标
打开阿里巴巴矢量图标库网站:https://www.iconfont.cn/。没有注册的话,可以使用手机号注册登录,即可免费下载图标图片。选择合适的图片,设置喜欢的颜色后,点击下载png格式图片。
在“button1”的属性设置中,点击“Image”后的“无”,点击“本地资源”——>”导入“——>选择图片——>”打开“。
-
鼠标点击“group1”,进入“group1”的属性设置。修改Label为:General Toolkits。
-
修改完成之后在界面中显示如下
-
双击“Hello Excel”,进入到程序编辑界面,在”RibbonDemo.cs“文件内,输入如下命令:
System.Windows.Forms.MessageBox.Show("Hello Excel & C#");
点击运行,即可打开Excel。
点击创建“空白工作簿”,在“空白工作簿”中可以看到我们前面创建的“TabToolkits”选项卡,在选项卡下点击“Hello Excel”即可运行弹出窗口“Hello Excel & C#”,即:我们设置想要输出的内容。
- 切换到“ThisAddin.cs”文件中,添加如下命令:
#region GetActiveApplication Workbook Worksheet
// 获得Application
public Excel.Application GetActiveApplication()
{
return (Excel.Application)Application.Application;
}
// 获得Workbook
public Excel.Workbook GetActiveWorkbook()
{
return (Excel.Workbook)Application.ActiveWorkbook;
}
// 获得Worksheet
public Excel.Worksheet GetActiveWorkSheet()
{
return (Excel.Worksheet)Application.ActiveSheet;
}
#endregion
- 切换“RibbonDemo.cs”文件,输入如下命令:
using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;
using Microsoft.Office.Interop.Excel;
using System.Reflection;
......
Worksheet sheet = Globals.ThisAddIn.GetActiveWorkSheet();
// 修改单元格值
sheet.Range["A1"].Value = "欢迎使用C#对Excel进行二次开发"; // 在A1单元格内写入内容
sheet.Columns.AutoFit(); // 根据填写的内容,自动调整单元格的大小
点击“运行”,在打开的Excel文件中,在选项卡下点击“Hello Excel”即可运行弹出窗口“Hello Excel & C#”,并在A1表格中输入内容:“欢迎使用C#对Excel进行二次开发”,即:我们设置想要输出的内容。