excel C#二次开发随笔(纯新手).

作者: new_blash | 来源:发表于2018-03-15 09:04 被阅读0次

    1.首先需要安装VS,然后把需要的模块一起安装.
    2.新建项目,VSTO外接程序.


    1.png

    3.新建好项目之后会生产以下代码

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Xml.Linq;
    using Excel = Microsoft.Office.Interop.Excel;
    using Office = Microsoft.Office.Core;
    using Microsoft.Office.Tools.Excel;
    
    namespace ExcelAddIn1
    {
        public partial class ThisAddIn
        {
            private void ThisAddIn_Startup(object sender, System.EventArgs e)
            {
                
            }
    
            private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
            {
    
            }
    
    
            #region VSTO 生成的代码
    
            /// <summary>
            /// 设计器支持所需的方法 - 不要修改
            /// 使用代码编辑器修改此方法的内容。
            /// </summary>
            private void InternalStartup()
            {
                this.Startup += new System.EventHandler(ThisAddIn_Startup);
                this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
            }
            
            #endregion
        }
    }
    

    这些代码由项目自动生成,可以现在可以不用管他.
    4.现在开始做插件,首先右键项目添加新项:选择office/SharePoint下的功能区(可视化设计器)如下图:


    2.jpg

    新建好了之后会有一个功能区给你,然后可以在上面增加各种控件,如下图:


    3.png
    然后我们在功能区点击右键属性,可以在右边看到它的各种设定,如果有需要可以随意修改,现在我们来新建一个按钮然后给按钮添加事件,具体操作如下:
    4.png
    直接把按钮拖进去,最后右键查看代码就会跳转到按钮定义的事件代码里边去了.

    5.然后我们在里面添加代码,代码如下:

    //获取当前活动的应用程序
                Application app1 = Globals.ThisAddIn.Application;
                app1.Visible = true;
                //获取当前活动的活动页
                _Workbook wb = app1.ActiveWorkbook;
                //获取当前的sheet
                Worksheet sheet1 = wb.Sheets[1];
              
                // 获取当前页面A1的值,并修改
                Range rng = sheet1.get_Range("A1", Type.Missing);
                rng.Value2 = "hello";
    

    由于百度上,官网上的实例代码全都是新建工作簿的方式修改,所以我这里把代码修改了下,改为了修改当前打开的工作簿的内容.
    6.最后点启动,会自动启动excel,然后新建工作簿,然后会看到以下界面


    5.png

    然后点击刚才我们新建的按钮,A1的值就被修改成了Hello了.
    7.一个简单的Excel插件建立好了之后,还需要给别人的电脑安装使用才行,这个时候就需要用到VS的发布功能了,然后我们点击项目右键发布功能,会弹出一个发布向导:


    6.png
    先指定好位置,然后下一步,会弹出个用户安装位置,这时我们选最后一个从CD-rom里面安装:
    7.png
    下一步,最后点完成,这样我们就会在目标文件夹里面得到1个文件夹2个安装文件如图:
    8.png

    这时就可以把这三个东西复制给别人用来安装了,安装成功后就会出现第5张图的界面了.
    8.最后附上新建的按钮控件完整代码:

    using System;
    using Microsoft.Office.Tools.Ribbon;
    using Microsoft.Office.Interop.Excel;
    
    namespace ExcelAddIn1
    {
        public partial class Ribbon1
        {
            
    
            private void Ribbon1_Load(object sender, RibbonUIEventArgs e)
            {
    
            }
    
    
            private void button1_Click(object sender, RibbonControlEventArgs e)
            {
                //获取当前活动的应用程序
                Application app1 = Globals.ThisAddIn.Application;
                app1.Visible = true;
                //获取当前活动的活动页
                _Workbook wb = app1.ActiveWorkbook;
                //获取当前的sheet
                Worksheet sheet1 = wb.Sheets[1];
              
                // 获取当前页面A1的值,并修改
                Range rng = sheet1.get_Range("A1", Type.Missing);
                rng.Value2 = "hello";
              
    
            }
        }
    }
    

    纯手打记录,如果有问题可在下方留言.

    相关文章

      网友评论

        本文标题:excel C#二次开发随笔(纯新手).

        本文链接:https://www.haomeiwen.com/subject/thecqftx.html