转载自个人主页

前言

ExcelDNA是一名国际友人开发的开源框架,文档全是英文文档,当时看的时候非常吃力,现在将英文文档翻译过来,为的是让自己加深印象以及自己以后看的时候能不用这么吃力。

介绍

Excel-DNA是一个独立于Excel的.net项目。使用Excel-DNA你可以用C#、VB、F#创建一个本地的Excel插件,该插件可以执行用户自定义函数(UDF)自定义菜单栏等。整个插件可以打包进一个.xll文件,不需要安装或者注册

开始

如果的的Visual Studio 版本支持 NuGet Package Manager(包管理工具)你可以很容易使用Excel-DNA add-in

  • 创建一个新的类库项目在VB、C#、F#中

  • 使用Manage NuGet Packages窗口或者Package Manager控制台,安装Excel-DNA的包

    PM> Install-Package ExcelDna.AddIn
  • 新建一个类,并添加如下代码

    //安装所需的包后,在相关类文件上也要引用次文件
    using ExcelDna.Integration; public static class MyFunctions
    {
    //此处便是定义该方法为excel自定义函数,函数的名称为SayHello
    [ExcelFunction(Description = "My first .NET function")]
    public static string SayHello(string name)
    {
    return "Hello " + name;
    }
    }
  • 设置项目调试,启动Excel

    ![如图所示]({{ site.url }}/img/postin/exceldna-run-excel.png)

  • 编译,加载你的Excel公式,并在Excel单元格中输入以下公式,便能看见输出的东西

    =SayHello("World!")

使用ExcelDNA NuGet包安装必要的文件和配置,编译你的项目,便生成出ExcelDNA插件

或者,从(GitHub)[https://github.com/Excel-DNA/ExcelDna/releases]获取源码,然后通过开始页面,一步一步创建C# 插件。

更多信息

ExcelDNA 依赖于.NET 开发,并且用户需要安装免费提供的.NET Framework。项目代码会整合到Excel插件(.xll文件)中并安装到Excel上。代码可以写在文本脚本文件(.dna)中,也可以写在可编译的.NET 类库中(.dll)。Excel-DNA支持.NET Framework 2.0/3.0/3.5/4。插件致力于运行时版本,并且Excel支持同事加载多个版本的Excel插件

Excel版本从97-2016均可以使用ExcelDNA插件,一些高级功能在不同的版本支持情况不同,例如,多线程重新计算(2007版及之后的支持)、注册免费的RTD(异步自定义函数)(2002版及以后的支持)、自定义菜单栏接口(2007及2010版支持,其他均不支持)自定义任务窗格(2007版及之后的版本支持)、卸载UDF计算功能(2010版及之后的支持)、64位版本(2010版及之后的支持)

最新版本

最新版本是 ExcelDNA0.34,最新发布时间为2017.06,最新发布包括修复bug、优化运行效果、整合NuGet包

相关链接

原文文档

此处作者回答了很多问题作者的Stack Overflow

Google Group

翻译-ExcelDNA开发文档-首页的更多相关文章

  1. 翻译-ExcelDNA开发文档

    转载自个人主页 前言 翻译开源项目ExcelDNA开发文档 异步处理 ExcelDNA支持两种异步函数: RTD,该函数适用与Excel2003及以上版本,(当你使用ExcelAsyncUtil.*时 ...

  2. [翻译]开发文档:android Bitmap的高效使用

    内容概述 本文内容来自开发文档"Traning > Displaying Bitmaps Efficiently",包括大尺寸Bitmap的高效加载,图片的异步加载和数据缓存 ...

  3. 【原创】Odoo开发文档学习之:ORM API接口(ORM API)(边Google翻译边学习)

    官方ORM API开发文档:https://www.odoo.com/documentation/10.0/reference/orm.html Recordsets(记录集) New in vers ...

  4. 【原创】Odoo开发文档学习之:构建接口扩展(Building Interface Extensions)(边Google翻译边学习)

    构建接口扩展(Building Interface Extensions) 本指南是关于为Odoo的web客户创建模块. 要创建有Odoo的网站,请参见建立网站;要添加业务功能或扩展Odoo的现有业务 ...

  5. ECMall模板开发文档

    ECMall 模板开发文档 前 言 欢迎阅读 ECMall 模板制作教程,通过阅读本教程可快速上手 ECMall 模板的使用和制作. ECMall 模板制 作要求用户具备 XML . XHTML 和 ...

  6. windows下使用 ApiGen 生成php项目的开发文档

    之前使用 PHPDocument 生成过开发文档,但是界面看着不爽,遂尝试了 ApiGen 生成,不得不说界面看着舒服多了,下面说说安装和使用的方法. ApiGen官网: http://www.api ...

  7. WSTMart开发文档

    WSTMart开发文档页面   PC版   开源版 授权版   序言   WSTMart安装协议   WSTMart电商系统安装   商城前台安装操作指南   用户中心指南   商家中心操作指南   ...

  8. Web图片编辑控件开发文档-Xproer.ImageEditor

    版权所有 2009-2014 荆门泽优软件有限公司 保留所有权利 官方网站:http://www.ncmem.com 产品首页:http://www.ncmem.com/webplug/image-e ...

  9. Android官方开发文档Training系列课程中文版:目录

    Android官方开发文档Training系列课程中文版:目录   引言 在翻译了一篇安卓的官方文档之后,我觉得应该做一件事情,就是把安卓的整篇训练课程全部翻译成英文,供国内的开发者使用,尤其是入门开 ...

随机推荐

  1. python安装出现的证书问题

    1. pip install pyenv 安装时出现下图错误 Could not install packages due to an EnvironmentError: HTTPSConnectio ...

  2. 第一册:lesson 125.

    原文: Tea for two. question:Does Susan have tea by herself? Can't you come in and have tea now Piter? ...

  3. Python序列类型各自方法

    在Python输入dir(str).dir(list).dir(tuple)可查看各种序列类型的所有方法. 对于某个方法不懂怎么使用的情况,可以直接help(str.split)对某个方法进行查询. ...

  4. 前端https调用后端http

    昨晚发生了一个,很........的事 我前端的域名  和后端的域名 都没有做认证,前端的访问的80 调用的后端80 然后我给前端的域名做了认证ssl,但是调用后端的时候报错 原因是  https 调 ...

  5. python_字典 学习

    一.创建字典(关联数组或hash表) 字典由键(key)和对应的值(values)组成. 代码: dic = { ‘ name‘:1 , ‘ zhang ’:2 , ‘ age‘ :3 , ‘ sex ...

  6. MemoryFile匿名共享内存

    Android提供了一个高效的共享内存机制.如果应用中涉及到在多个进程间交换数据时使用Android提高的共享内存机制将会大大的提高效率.但是也许是出于安全考虑,在应用层使用共享内存机制将会遇到很多障 ...

  7. 解决ajax提交中文数据乱码

    function replaceWord(date,wordurl){                $.ajax({            url : 'wordReplace',          ...

  8. Java基本语法_循环练习系列(二)——万年历

    写万年历大致可以分为以下几个步骤: 1.根据用户输入的年份判断该年是否是闰年. 2.根据用户输入的月份计算该月的天数. 3.计算输入的年份之前的总天数. 4.计算输入的月份之前的天数. 5.计算该月的 ...

  9. Murano Weekly Meeting 2016.05.10

    Meeting time: 2016.May.10 1:00~2:00 Chairperson:  Serg Melikyan, from Mirantis Meeting summary: 1. m ...

  10. MATLAB线性回归方程与非线性回归方程的相关计算

    每次比赛都需要查一下,这次直接总结到自己的博客中. 以这个为例子: 2.线性方程的相关计算 x=[1,2,3,4,5]';%参数矩阵 X=[ones(5,1),x];%产生一个5行一列的矩阵,后接x矩 ...