You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel-DNA迁移至.NET 6:appsettings.json分发及示例代码问询

Excel-DNA + .NET 6 中 appsettings.json 的使用方案

分发方式选择

  • 单独分发:可直接将appsettings.json与XLL文件放在同一目录,.NET 6配置系统会自动识别加载,适合需要后续修改配置的场景。
  • 嵌入到XLL形成单一文件:若要单文件分发,可将appsettings.json设为嵌入资源,通过代码读取嵌入内容加载配置,无需额外分发配置文件。

嵌入配置文件的实现步骤

  1. 设置嵌入资源:在Visual Studio中右键点击appsettings.json → 属性 → 将“生成操作”改为嵌入的资源。
  2. 读取嵌入资源并加载配置:
    使用.NET的ConfigurationBuilder结合嵌入资源流构建配置,示例代码如下:
    using System.Reflection;
    using Microsoft.Extensions.Configuration;
    
    public static class ConfigLoader
    {
        public static IConfiguration LoadConfig()
        {
            var assembly = Assembly.GetExecutingAssembly();
            // 资源名称格式:[项目命名空间].[文件名],例如项目名为MyExcelAddin则写MyExcelAddin.appsettings.json
            using var stream = assembly.GetManifestResourceStream("YourNamespace.appsettings.json");
            
            var config = new ConfigurationBuilder()
                .AddJsonStream(stream)
                .Build();
            
            return config;
        }
    }
    
  3. 使用配置:在Excel-DNA的初始化或函数代码中调用加载逻辑:
    using ExcelDna.Integration;
    
    public class MyAddin : IExcelAddIn
    {
        public void AutoOpen()
        {
            var config = ConfigLoader.LoadConfig();
            var apiUrl = config["ApiSettings:BaseUrl"];
            // 后续业务逻辑
        }
    
        [ExcelFunction(Description = "获取配置中的API地址")]
        public static string GetApiUrl()
        {
            var config = ConfigLoader.LoadConfig();
            return config["ApiSettings:BaseUrl"] ?? "未配置";
        }
    }
    

单独分发配置文件的简化用法

若选择单独分发,可简化配置加载逻辑:

public static IConfiguration LoadConfig()
{
    var config = new ConfigurationBuilder()
        .SetBasePath(System.IO.Directory.GetCurrentDirectory())
        .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
        .Build();
    return config;
}

reloadOnChange: true支持不重启Excel的情况下修改配置文件生效。

内容的提问来源于stack exchange,提问作者Tom Baxter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 17:33:14