LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

MiniWord:一个功能强大的 .NET Word 模板导出引擎,跨平台、无需 Office 依赖、简单易用

admin
2026年2月13日 22:6 本文热度 36

项目概述

MiniWord 是一个功能强大且易于使用的 .NET Word 模板导出引擎,适用于各种需要动态生成 Word 文档的场景。其跨平台、无需 Office 依赖、简单易用的特点使得它成为开发者理想的文档生成工具。

应用场景

MiniWord 适用于需要动态生成 Word 文档的各种场景,包括但不限于:

  • 报告生成:根据数据库查询结果或业务逻辑动态生成报告。
  • 合同生成:根据用户输入的信息自动填充合同模板。
  • 证书制作:根据用户数据自动生成证书或奖状。
  • 邮件合并:批量生成个性化的邮件或信函。
  • 数据导出:将应用程序中的数据导出为 Word 文档,便于分享和打印。

功能模块

MiniWord 主要包含以下几个功能模块:

模板引擎

  • 模板设计:用户可以使用 Word 设计模板,通过特定的标签占位符来标记需要动态替换的内容。
  • 数据绑定:支持将数据模型绑定到模板中的标签,实现数据的动态替换。

数据替换

  • 文本替换:支持简单的文本替换,将模板中的标签替换为实际的数据值。
  • 图片替换:支持将模板中的图片标签替换为实际的图片。
  • 列表和表格:支持将数组或列表数据绑定到模板中的列表或表格,实现动态生成多行内容。
  • 条件判断:支持在模板中使用条件判断语句,根据数据值决定是否显示某些内容。
  • 循环:支持在模板中使用循环语句,动态生成重复的内容块。

输出格式

  • 文件输出:支持将生成的 Word 文档保存为文件。
  • 字节数组输出:支持将生成的 Word 文档转换为字节数组,便于在网络中传输或存储在数据库中。
  • 流输出:支持将生成的 Word 文档写入到流中,便于直接响应 HTTP 请求。

快速入门

模板遵循“所见即所得”的设计,模板和标签的样式会被完全保留

var value = new Dictionary<string, object>(){["title"] = "Hello MiniWord"};
MiniSoftware.MiniWord.SaveAsByTemplate(outputPath, templatePath, value);

表格替换

标签值为 IEmerable<Dictionary<string,object>>类别

代码例子:

var value = new Dictionary<string, object>()
{
    ["TripHs"] = new List<Dictionary<string, object>>
    {
        new Dictionary<string, object>
        {
            { "sDate",DateTime.Parse("2022-09-08 08:30:00")},
            { "eDate",DateTime.Parse("2022-09-08 15:00:00")},
            { "How","Discussion requirement part1"},
            { "Photo",new MiniWordPicture() { Path = PathHelper.GetFile("DemoExpenseMeeting02.png"), Width = 160, Height = 90 }},
        },
        new Dictionary<string, object>
        {
            { "sDate",DateTime.Parse("2022-09-09 08:30:00")},
            { "eDate",DateTime.Parse("2022-09-09 17:00:00")},
            { "How","Discussion requirement part2 and development"},
            { "Photo",new MiniWordPicture() { Path = PathHelper.GetFile("DemoExpenseMeeting01.png"), Width = 160, Height = 90 }},
        },
    }
};
MiniWord.SaveAsByTemplate(path, templatePath, value);

二级列表

Tag 是 IEnumerable<MiniWordForeach> 类别. 使用方式{{foreach 和 endforeach}}.

var value = new Dictionary<string, object>()
{
    ["TripHs"] = new List<Dictionary<string, object>>
    {
        new Dictionary<string, object>
        {
            { "sDate", DateTime.Parse("2022-09-08 08:30:00") },
            { "eDate", DateTime.Parse("2022-09-08 15:00:00") },
            { "How""Discussion requirement part1" },
            {
                "Details", new List<MiniWordForeach>()
                {
                    new MiniWordForeach()
                    {
                        Value = new Dictionary<string, object>()
                        {
                            {"Text""Air"},
                            {"Value""Airplane"}
                        },
                        Separator = " | "
                    },
                    new MiniWordForeach()
                    {
                        Value = new Dictionary<string, object>()
                        {
                            {"Text""Parking"},
                            {"Value""Car"}
                        },
                        Separator = " / "
                    }
                }
            }
        }
    }
};
MiniWord.SaveAsByTemplate(path, templatePath, value);

源码地址

https://gitee.com/dotnetchina/MiniWord


阅读原文:原文链接


该文章在 2026/2/14 17:32:13 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2026 ClickSun All Rights Reserved