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

ClosedXML模板无法将数据写入Excel工作表问题求助

ClosedXML模板填充失效排查方案
  • 核心修正:补充Generate()方法调用,这是占位符替换的必要触发逻辑,你当前代码缺失这一步,所有变量添加完成后、保存文件前必须执行该方法。修正后的代码示例:
const string outputFile = @"\\Reports\Output\Test.xlsx";
var template = new XLTemplate(@"\\Reports\Test.xlsx");

var test = new models.Test();
test.id = 1;
test.TestName = "ASDF";
test.TestScore = "303";

// 两种变量传递方式二选一即可,避免同名变量冲突
template.AddVariable(test);
// template.AddVariable("TestScore", "232");
// template.AddVariable("TestName", "TESTNAME");

// 新增这行触发占位符替换
template.Generate();

template.SaveAs(outputFile);
Process.Start(new ProcessStartInfo(outputFile) { UseShellExecute = true });
  • 其他排查点:
    • 检查模板单元格占位符格式,不要加多余空格,大小写要和变量名完全一致,不能写成{{ TestName }}(中间带空格)或者{{testname}}(全小写)
    • 确认使用的ClosedXML版本≥0.95.0,低于该版本不支持XLTemplate模板功能,建议升级到最新稳定版
    • 如果使用自定义类传递变量,确保类的属性为公共可访问,models.Test的TestName、TestScore属性必须添加public修饰符
    • 排查模板文件路径是否正确,确认程序对模板文件有读取权限,生成的输出文件没有被其他程序占用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 05:27:03