如何在Dyalog APL中加载第三方DLL?EPPlus、IronXL加载求助
在Dyalog APL中加载外部.NET DLL(如EPPlus、IronXL)的正确步骤
一、先搞定DLL文件与依赖
- 匹配架构:64位Dyalog必须用64位.NET DLL,32位版本没法在64位环境加载。
- 补全依赖:EPPlus、IronXL这类库不是单DLL就能运行的,得从NuGet下载完整包,把所有相关依赖DLL(比如EPPlus需要的
EPPlus.Interfaces.dll等)和主DLL放在同一个文件夹里,别只复制单个文件。
二、正确设置⎕USING路径
- 别依赖默认目录(Dyalog安装目录或.NET Framework目录),直接用绝对路径指定DLL位置,避免系统找错地方:
⎕USING←'EPPlus,C:\Your\DLL\Folder\EPPlus.dll' 'IronXL,C:\Your\DLL\Folder\IronXL.dll' - 避开权限坑:Program Files目录默认需要管理员权限,把DLL放在自定义目录(比如
C:\DyalogDLLs),省得因为权限不够加载失败。
三、解决0x80131515权限错误
- 这个错误是因为DLL被Windows标记成了“互联网下载的不安全文件”,解锁就行:
- 右键DLL文件→属性
- 在“常规”页底部点“解除锁定”(有的话),确定。
四、验证加载效果
- EPPlus测试代码:
wb←⎕NEW EPPlus.ExcelPackage wb.Workbook.Worksheets.Add("TestSheet") wb.SaveAs('C:\test_epplus.xlsx') wb.Dispose() - IronXL测试代码:
workbook←⎕NEW IronXL.WorkBook worksheet←workbook.CreateWorkSheet("SampleSheet") worksheet["A1"].Value←"Hello IronXL" workbook.SaveAs("C:\test_ironxl.xlsx")
内容的提问来源于stack exchange,提问作者T.P.
相关产品推荐
相关产品推荐

