苏打气泡水的博客 - Word
type: channel
link: https://sdqps.top/index.php/tag/Word/
items: C# word文件填充导出数据

C# word文件填充导出数据
type: item
date: 2023-07-19T09:58:00+08:00
description: 在项目中对于word文件的操作大多需要使用微软的依赖或是WPS或使用其他收费应用，在使用过程中不可避免的问题能够浪费开发者的大量时间，所以才有了此教程。首先，教程中只写了一个功能“建好word模板文件后，存在占位后进行填充数据”。环境：.Net6.0步骤一：创建好word模板文件.docx 文件。占位符语法：// 两个英文半角的大括号，中间写英文半角字母的占位符名称， {{time}} {{age}} {{address}}示例：步骤二：创建项目，引入MiniWordMiniWord .NET Word模板引擎，藉由Word模板和数据简单、快速生成文件。Nuget ：https://www.nuget.org/packages/MiniWord 项目地址：Gitee : https://gitee.com/dotnetchina/MiniWord详细使用查看注释,其中不支持特殊表情等 例如：🍎// See https://aka.ms/new-console-template for more information using System.Diagnostics; Console.WriteLine("Hello, World!"); // 填充的数据对用模板中的书签名称，例如：{{time_period}} var value = new Dictionary<string,object>() { ["time_period"] = "2023-07-17至2023-07-21", ["grade_class"] = "大班-一班", // 周一 ["teach_name_0"] = "邹玉", ["content_0"] ="我与父亲不相见已二年余了，我最不能忘记的是他的背影。那年冬天，祖母死了，父亲的差使也交卸了，正是祸不单行的日子，我从北京到徐州，打算跟着父亲奔丧回家。到徐州见着父亲，看见满院狼藉的东西，又想起祖母，不禁簌簌地流下眼泪。父亲说，“事已如此，不必难过，好在天无绝人之路！”", ["note_0"] = "无", // 周二 ["teach_name_1"] = "陈心", ["content_1"] ="回家变卖典质，父亲还了亏空；又借钱办了丧事。这些日子，家中光景很是惨淡，一半为了丧事，一半为了父亲赋闲。丧事完毕，父亲要到南京谋事，我也要回北京念书，我们便同行。", ["note_1"] = "无", // 周三 ["teach_name_2"] = "菲", ["content_2"] ="到南京时，有朋友约去游逛，勾留了一日；第二日上午便须渡江到浦口，下午上车北去。父亲因为事忙，本已说定不送我，叫旅馆里一个熟识的茶房陪我同去。他再三嘱咐茶房，甚是仔细。但他终于不放心，怕茶房不妥帖；颇踌躇了一会。其实我那年已二十岁，北京已来往过两三次，是没有甚么要紧的了。他踌躇了一会，终于决定还是自己送我去。我两三回劝他不必去；他只说，“不要紧，他们去不好！”", ["note_2"] = "无", // 周四 ["teach_name_3"] = "筠", ["content_3"] ="近几年来，父亲和我都是东奔西走，家中光景是一日不如一日。他少年出外谋生，独力支持，做了许多大事。那知老境却如此颓唐！他触目伤怀，自然情不能自已。", ["note_3"] = "无", // 周五 ["teach_name_4"] = "葛", ["content_4"] ="情郁于中，自然要发之于外；家庭琐屑便往往触他之怒。他待我渐渐不同往日。但最近两年的不见，他终于忘却我的不好，只是惦记着我，惦记着我的儿子。", ["note_4"] = "无", // 节假日 ["holidays"] = "", ["teach_name_5"] = "", ["content_5"] ="", ["note_5"] = "", }; // 获取当前程序所在目录 var currentDirectory = Directory.GetCurrentDirectory(); // 创建 doc 目录 if(Directory.Exists($"{currentDirectory}/doc") == false) { Directory.CreateDirectory($"{currentDirectory}/doc"); } // 生成文件路径 var outPath = Path.Combine(currentDirectory, "doc", $"{DateTime.Now:yyyy-M-d-HH-mm-ss}.docx"); // 模板路径 var templatePath = Path.Combine(currentDirecto…