Tag: excel dna

从ExcelDNA返回#N / A错误

我对excelDNA相当excelDNA ,所以我可能会漏掉一些明显的东西。 我试图从excelDNA UDF中返回excelDNA #N/A 我正在使用的function(通过Visual Studio 2010)如下: public static object returnError() { return ExcelDna.Integration.ExcelError.ExcelErrorNA; } 当从Excel工作表中调用时,这会返回一个#VALUE – 但是我需要一个#VALUE #N/A 我不能只返回string“ iserror() / A”,因为像iserror()这样的Excel函数将不起作用。 用任何其他错误typesreplaceExcelErrorNA ,例如ExcelErrorDiv0仍然会产生#VALUE 。 任何帮助将不胜感激

ExcelDnaUtil vs Interop.Excel

我目前正在比较Excel-DNA与VSTO和Interop。 我有兴趣使用C#创buildExcel的加载项。 我不需要创buildUDF,而只需要与Excel交互,例如:读取单元格,编写单元格,创build工作表等。 哪种解决scheme会更好:Excel-DNA或VSTO? 谢谢。

Excel DNA – 我可以避免一起做一个regasm吗?

我正在尝试评估Excel DNA以在我的Excel插件中使用它。 我使用C#函数(.NET 4.0),并希望从Excel中调用这些函数。 我感兴趣的原因是,我的插件的用户是非pipe理员,因此将是一个突破,如果我可以find一个解决scheme,不要在我的.NET DLL的重做,让我的插件工作。 我明白,如果它像一个工作表函数(与简单的返回types和参数),如下所示: private string Add (int a, double b)我可以轻松地包装暴露他们使用excel dna。 另外,我明白,我也可以使用VBA中的Application.Run来调用这些简单的函数。 但是,如果我有一个复杂的types参与API,并希望从VBA使用这个,那么我是否需要regasm该汇编和types? 示例如下所示: private MyType AddLogic (myType1 A, myType2 B) 或者在Excel DNA中有任何方法,我也可以在VBA中使用这种types的函数,而不需要regasm或regsvr32? 感谢玛尼

如何在input数值时停止计算Excel-DNA函数

我已经在c#中实现了一些复杂而计算量大的函数。 要在Excel中使用它,我已经通过Excel-DNA创build了一个Excel-AddIn。 现在,当我在Excel中调用函数并开始input值时,即使在完成所有input之前,它也开始计算。 更重要的是,当我点击单元格并更改一些input时,函数也会重新计算。 通常我不介意。 但是由于performance缓慢,它变成了一场考验 有没有办法抑制这种行为? (设置计算手动似乎没有工作)基本上我想要的Excel-DNA公式(重新)只有当F9按下计算。 如果任何人有另一种语言的解决scheme,我会很乐意使用它作为一个灵感,并将其移植到C#。

寻找免费的方式来开发使用IronPython的Excel加载项?

我不太了解VSTO或VSTA,但是我认为你需要Visual Studio的完整版本才能使用其中之一。 我无法说服我的老板给我们买这个,但我想在IronPython中开发Excel插件。 我已经看了几个教程,向您展示如何使用IronPython与Excel进行交互,但我找不到有关开发插件的信息。 你能推荐任何资源吗? 我唯一的select做一个COM插件? 如果是这样,有没有人知道这个使用IronPython的例子? 我很抱歉地说,我不能与任何包括花钱的select一起去。 我现在有免费的Visual Studio Shell和IronPython for visual studio安装程序。

从Excel-DNA构build的Excel .XLL文件中解压内容

我不知道你是否知道excel-dna项目,这是一个帮助将.net程序集和语言集成到excel插件中的项目。 我的问题是,我想从一个xll文件(excel-dna能够打包xll内的资源)解压缩DLL。 我已经下载了excel-dna源代码,并且已经在源代码中写下了这个基础: string xlllib = @"C:\pathtomyxllfile\myaddin.xll"; string xlloutput = @"C:\pathtomyxllfile\myaddin.dll"; var hModule = ResourceHelper.LoadLibrary(xlllib); var content = ResourceHelper.LoadResourceBytes(hModule, "ASSEMBLY_LZMA", "MYASSEMBLYNAME"); using (BinaryWriter binWriter = new BinaryWriter(File.Open(xlloutput, FileMode.Create))) { binWriter.Write(content); } 但它不起作用。 任何人有一个想法,从xll解压DLL? 提前致谢,

获取C#中的当前工作簿对象

我一直在用C#编写一个应用程序,它在Excel电子表格中创build自定义文档属性,我有一个函数用于接收工作簿对象… 但是,实际上得到当前的工作簿对象被certificate是相当恼人的,我使用ExcelDNA来添加function,但是,我似乎无法通过我的函数有效的工作簿COM对象。

Excel-DNA:一维数组限于65536行

当试图在VBA中调用以下Excel-DNA-Method时,我只能得到一个大小为1的数组(在65536行之后数组似乎被调整为实际数组大小 – 65537)。 当调用表中的方法作为数组函数时,整个事情的作品。 [ExcelFunction(Description = "Example", Name = "Example", HelpTopic = "")] public static object[] example() { object[] ret = new object[65537]; return ret; } 我正在使用Excel 2007,该工作表是一个xlsm工作表,使用这样的二维数组时,一切工作正常。 [ExcelFunction(Description = "Example", Name = "Example", HelpTopic = "")] public static object[,] example() { object[,] ret = new object[65537,1]; return ret; } 但是使用二维数组的方式是相同的,以防万一发生 [ExcelFunction(Description = "Example", Name […]

Excel的ExcelDNA C#/尝试复制彭博BDH()的行为(在networking请求后写入数组)

我想复制彭博BDH的行为。 BDH发出Web请求并写入数组(但不返回数组样式)。 在此Web请求期间,该函数返回“#N / A请求”。 当Web请求完成时,BDH()函数将数组结果写入工作表。 例如,在ExcelDNA中,我成功地在工作表中写入了一个线程。 结果如果你在DNA文件中使用下面的代码,结果如下 = WriteArray(2; 2) 将会 第1行> #N/A Requesting Data (0,1) 第2行> (1,0) (1,1) 最后一个问题是用值replace#N/A Requesting Data并复制公式。 当您取消注释//xlActiveCellType.InvokeMember(“FormF1R1C1Local”)时,您接近结果但您没有正确的行为 文件.dna <DnaLibrary Language="CS" RuntimeVersion="v4.0"> <![CDATA[ using System; using System.Collections.Generic; using System.Reflection; using System.Runtime.InteropServices; using System.Threading; using ExcelDna.Integration; public static class WriteForXL { public static object[,] MakeArray(int rows, int columns) { if […]

使用Excel Dna做文档

我已经使用Excel Dna来创build.NET的XLS,并在我的插件和Excel工作表函数中使用它。 我也使用ExcelDnaPack.exe打包我的xll。 我想知道如果Excel支持,任何方式来生成我的图书馆API的文档。 谢谢,玛尼