zoukankan      html  css  js  c++  java
  • ExcelDNA UDF 攻略

    office是64位的,编程工具是Visual Studio 2019

    1. Create a new Class Library (.NET Framework) project in C#.
    2. Use the Manage NuGet Packages dialog or the Package Manager Console to install the Excel-DNA package:
    PM> Install-Package ExcelDna.AddIn
    
    1. Add your code (C#):
    using ExcelDna.Integration;
    
    namespace ExcelDNA
    {
        public static class MyFunctions
        {
            [ExcelFunction(Description = "My first .NET function", Category = "STRING")]
            public static string SayHello([ExcelArgument(Name = "TEXT", Description = "text to split")] string name)
            {
                return "Hello " + name;
            }
        }
    }
    
    1. Compile, 在生成目录里会出现许多文件,生成目录下有4个xll文件,其中有一个是我们所用的:

      ExcelDNA-AddIn64.xll
      

      看名字应该用在64位office中。其他还不知到有什么用,放在那里,不管他。

    2. 打开Excel,加载步骤如下:

      开发工具,Excel加载项,浏览,选择生成目录的ExcelDNA-AddIn64.xll文件,可用加载宏,勾选。

      如果开发工具选项卡不在功能区,选文件,选项,自定义功能区,主选项卡,开发工具,勾选。

      清除多余的加载宏项目:删除加载宏项目对应的文件,勾选要清除的项目,会出现对话框,问是否清除加载宏项目,确认清除。

    3. load and use your function in Excel:

      =SayHello("World!")
      

    当你在Excel手动输入函数时,函数名会出现在智能提示框中。

    公式,插入函数,选择类别STRING,可以找到SayHello函数,并且有描述信息。

    用到Excel类型,仍然可以引用程序集,扩展:

    using Microsoft.Office.Interop;
    using Excel = Microsoft.Office.Interop.Excel;
    

    获得应用的方法:

    var xlApp = (Application)ExcelDnaUtil.Application;
    

    参考文献:

    https://excel-dna.net/

    https://jingyan.baidu.com/article/f71d6037c911351ab741d150.html

  • 相关阅读:
    实现Runnable接口和继承Thread类的区别
    图的DFS和BFS
    图建模
    数据结构-图的基本知识和表示
    除自身以外的乘积数组(力扣第238题)
    MapReduce源码分析--Shuffle阶段
    转到博客园
    vue中使用剪切板插件 clipboard.js
    vue中使用vue-qrcode生成二维码
    h5中嵌入视频自动播放的问题
  • 原文地址:https://www.cnblogs.com/cuishengli/p/13690041.html
Copyright © 2011-2022 走看看