是否可以在没有原始源代码的情况下查看XLL Excel的源代码?我猜这个XLL是用C#编写的,但不确定。即您可以使用dotPeek反编译的.NET DLL,或者可以通过Developer>在Excel中打开的XLA文件。 Visual Basic。我尝试了两种方法都没有运气。
答案 0 :(得分:2)
您知道这个Excel加载项是否是使用Excel-DNA构建的吗?如果是,则可以使用ExcelDnaUnpack从.XLL文件中提取.NET程序集。
源代码在GitHub上:https://github.com/caioproiete/ExcelDnaUnpack
ExcelDnaUnpack 是一个命令行实用程序,用于提取ExcelDnaPack打包的ExcelDna加载项的内容
Usage: ExcelDnaUnpack.exe [<options>]
Where [<options>] is any of:
--xllFile=VALUE The XLL file to be unpacked; e.g. MyAddIn-packed.xll
--outFolder=VALUE [Optional] The folder into which the extracted files will be written; defaults to '.\unpacked'
--overwrite [Optional] Allow existing files of the same name to be overwritten
Example: ExcelDnaUnpack.exe --xllFile=MyAddins\FirstAddin-packed.xll
The extracted files will be saved to MyAddins\unpacked
答案 1 :(得分:1)
作为一般答案,XLL是使用Excel C Api编写的,它们实际上是标准dll。创建一个xll时,基本上创建一个dll并重命名该扩展名以将其转换为.xll。所以你的问题实际上是恢复到这个问题:How to decompile c++ dll?