Loading... 在项目中对于word文件的操作大多需要使用微软的依赖或是WPS或使用其他收费应用,</br>在使用过程中不可避免的问题能够浪费开发者的大量时间,</br>所以才有了此教程。</br>首先,</br>教程中只写了一个功能“建好word模板文件后,存在占位后进行填充数据”。 > 环境:.Net6.0 ## 步骤一:创建好word模板文件.docx 文件。 占位符语法: ```javascript // 两个英文半角的大括号,中间写英文半角字母的占位符名称, {{time}} {{age}} {{address}} ``` 示例:![WordTemplate](https://hwcloud.sdqps.top/ShareImages/PicGo/20230718/638252967421317098.png) ## 步骤二:创建项目,引入MiniWord ![MiniWorld](https://hwcloud.sdqps.top/ShareImages/PicGo/20230718/638252971026163721.png) > MiniWord .NET Word模板引擎,藉由Word模板和数据简单、快速生成文件。</br> > Nuget :</br> > https://www.nuget.org/packages/MiniWord </br> > 项目地址:</br> > Gitee : https://gitee.com/dotnetchina/MiniWord 详细使用查看注释,其中不支持特殊表情等 例如:🍎 ```csharp // 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(currentDirectory, "1530TeachTemplate.docx"); // 输出信息 Console.WriteLine("数据填充中..."); // 开始计时 var stopwatch = new Stopwatch(); // 开始填充数据 MiniSoftware.MiniWord.SaveAsByTemplate(outPath, templatePath, value); stopwatch.Stop(); Console.WriteLine($"数据填充完成,耗时:{stopwatch.ElapsedMilliseconds}ms"); Console.WriteLine($"文件保存在:{outPath}"); ``` ## 结果 ![show](https://hwcloud.sdqps.top/ShareImages/PicGo/20230718/638252984124885044.png) 最后修改:2023 年 08 月 01 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 2 如果觉得我的文章对你有用,请随意赞赏