在VS中创建Excel项目 - 一江春水

时间:2024-04-15 11:35:22

在VS2010中创建Excel项目

之前一直用Excel VBA进行二次开发,从.NET 4.0开始,通过VSTOOffice进行二次开发也非常方便,且功能比VBA更强大。

Excel的二次开发通常有以下几种方式:

一是使用Excel内置的VBA进行开发。

二是使用VSTO进行开发。

Excel 2007开始使用Ribbon界面,用VBA没办法控制功能区,使用VSTO比较方便。另外,VSTO使用VBC#进行开发,代码的键壮性、安全性都更有保障。

 

 

Visual Studio 2010中创建Excel项目的步骤如下:

1.启动 Visual Studio 2010

2.在菜单中选择 “文件/新建/项目”命令,打开“新建项目”对话框。

3.在“模板”窗格中,展开 Visual C#”(或 Visual Basic”),然后展开 Office/2010”,从对话框中看到可创建3Excel项目:

  • Excel 2010外接程序:为Excel 2010创建加载项项目。
  • Excel 2010模板:为Excel 2010创建模板项目。
  • Excel 2010工作簿:为Excel 2010创建工作簿项目

 

 

Visual Studio 2010提供了两类项目模板:

  • 文档级自定义项:这种类型的解决方案与特定文档相关联,前面提到的“Excel 2010模板”、“Excel 2010工作簿”就是这类模板。
  • 应用程序级外接程序:这种类型的解决方案与应用程序本身相关联,前面提到的“Excel 2010外接程序”就是这类模板。

4.在项目模板列表中,选择 Excel 2010 工作簿”。

5.在“名称”框中输入“FirstWorkbook”。

6.单击 “确定”,打开 Visual Studio Tools for Office 项目向导”。

 

7.选择 “创建新文档”,然后单击 “确定”。

8VS2010创建 FirstWorkbook项目。

 

从解决方案资源管理器中可看到,VS2010创建了多个文件:

FirstWorkbook.xlsx:表示项目中的 Excel 工作簿,包含所有的工作表和图表。

Sheet1.cs:表示工作簿中第一个工作表。

Sheet2.cs:表示工作簿中第二个工作表。

Sheet3.cs:表示工作簿中第三个工作表。

ThisWorkbook.cs:包含用于工作簿级自定义项的设计画面和代码(作用与VBA开发中的ThisWorkbook对象类似)。

9.接下来编写一下Hello world代码。在解决方案资源管理器中右键单击ThisWorkbook.cs,从弹出的快捷菜单中选择“查看代码”,可看到如下代码。

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Data;
 4 using System.Linq;
 5 using System.Text;
 6 using System.Windows.Forms;
 7 using System.Xml.Linq;
 8 using Microsoft.Office.Tools.Excel;
 9 using Microsoft.VisualStudio.Tools.Applications.Runtime;
10 using Excel = Microsoft.Office.Interop.Excel;
11 using Office = Microsoft.Office.Core;
12 
13 namespace FirstExcelWorkbook
14 {
15     public partial class ThisWorkbook
16     {
17         private void ThisWorkbook_Startup(object sender, System.EventArgs e)
18         {
19         }
20 
21         private void ThisWorkbook_Shutdown(object sender, System.EventArgs e)
22         {
23         }
24 
25         #region VSTO 设¦¨¨计?器¡Â生¦¨²成¨¦的Ì?代䨲码?
26 
27         /// <summary>
28         /// 设¦¨¨计?器¡Â支¡ì持?所¨´需¨¨的Ì?方¤?法¤¡§ - 不?要°a
29         /// 使º1用®?代䨲码?编À¨¤辑-器¡Â修T改?此ä?方¤?法¤¡§的Ì?内¨²容¨Y。¡ê
30         /// </summary>
31         private void InternalStartup()
32         {
33             this.Startup += new System.EventHandler(ThisWorkbook_Startup);
34             this.Shutdown += new System.EventHandler(ThisWorkbook_Shutdown);
35         }
36 
37         #endregion
38 
39     }
40 }

10.在ThisWorkbook_Startup中添加以下代码:

 

1         private void ThisWorkbook_Startup(object sender, System.EventArgs e)
2 
3         {
4 
5             MessageBox.Show("Hello World!");
6 
7         }

 

11.运行该项目,可看到Excel 2010将启动,然后弹出一个对话框,显示Hello World!