转载自个人主页

前言

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. [转载]什么情况下应该设置 cudnn.benchmark = True?

    总的来说,大部分情况下,设置这个 flag 可以让内置的 cuDNN 的 auto-tuner 自动寻找最适合当前配置的高效算法,来达到优化运行效率的问题. 一般来讲,应该遵循以下准则: 如果网络的输 ...

  2. composer.json 配置设置

    配置文件的值为 key:val 必须双引号包裹 一.配置文件 名字 name包名称由用户名名称和仓库名称组成包版本限制来请求Monolog软件包 1.0.*.这意味着1.0开发分支中的任何版本,或大于 ...

  3. 2015苏州大学ACM-ICPC集训队选拔赛(1) 1001 1002 1010

    签到题 Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Submissio ...

  4. Hibernate通过自编写sql查询

    public List<InterProductMsg> selectIsHaveProductid(String productId) { String sql="SELECT ...

  5. ASC19超算概述

    初赛题目组成 设计超算集群(看参考文献做设计) 对超算集群进行性能测试(一般来讲的测试工具就是用HPL,找到最适合的参数,达到最优秀的计算能力) 数字图像处理(通常代码量较大,代码优化较为困难,优化偏 ...

  6. python 几个常用自定义函数在dataframe上的应用

    最小值与最大值 def f(x): return pd.Series([x.min(),x.max(),index=['min','max']) frame.apply(f) 浮点值的格式化 form ...

  7. [转]显示农历日期的JS

    本文转自:http://blog.sina.com.cn/s/blog_47377e77010009xc.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD ...

  8. Murano Weekly Meeting 2016.06.07

    Meeting time: 2016.June.7 1:00~2:00 Chairperson:  Kirill Zaitsev, from Mirantis Meeting summary: 1.A ...

  9. WSGI学习系列多种方式创建WebServer

    def application(environ, start_response): start_response('200 OK', [('Content-Type', 'text/html')]) ...

  10. (转)Memcached用法--参数和命令详解

    Memcached用法--参数和命令详解 1. memcached 参数说明: # memcached -h 1.1 memcached 的参数 常用参数 -p <num> 监听的TCP端 ...