Part1簡介
MiniWord 是.NET Word模板引擎,由Word模板和數(shù)據(jù),簡單、快速生成文件。
Part2特點
Part3安裝
Part4使用
MiniWord 使用類似 Vue, React 的模版字串 {{tag}},只需要確保 tag 與 value 參數(shù)的 key 一樣(大小寫敏感),系統(tǒng)會自動替換字串。
介紹
MiniWord .NET Word模板引擎,藉由Word模板和數(shù)據(jù)簡單、快速生成文件。
快速入門
模板遵循“所見即所得”的設(shè)計,模板和標(biāo)簽的樣式會被完全保留
var value = new Dictionary<string, object>(){["title"] = "Hello MiniWord"};
MiniSoftware.MiniWord.SaveAsByTemplate(outputPath, templatePath, value);
輸入、輸出
輸入系統(tǒng)支持模版路徑或是Byte[]
輸出支持文件路徑、Byte[]、Stream
SaveAsByTemplate(string path, string templatePath, Dictionary<string, object> value)
SaveAsByTemplate(string path, byte[] templateBytes, Dictionary<string, object> value)
SaveAsByTemplate(this Stream stream, string templatePath, Dictionary<string, object> value)
SaveAsByTemplate(this Stream stream, byte[] templateBytes, Dictionary<string, object> value)
標(biāo)簽
MiniWord 使用類似 Vue, React 的模版字串 {{tag}}
,只需要確保 tag 與 value 參數(shù)的 key 一樣(大小寫敏感)
,系統(tǒng)會自動替換字串。
文本
{{tag}}
代碼例子
var value = new Dictionary<string, object>()
{
["Name"] = "Jack",
["Department"] = "IT Department",
["Purpose"] = "Shanghai site needs a new system to control HR system.",
["StartDate"] = DateTime.Parse("2022-09-07 08:30:00"),
["EndDate"] = DateTime.Parse("2022-09-15 15:30:00"),
["Approved"] = true,
["Total_Amount"] = 123456,
};
MiniWord.SaveAsByTemplate(path, templatePath, value);
模版
導(dǎo)出
圖片
標(biāo)簽值為 MiniWordPicture
類別
代碼例子
var value = new Dictionary<string, object>()
{
["Logo"] = new MiniWordPicture() { Path= PathHelper.GetFile("DemoLogo.png"), Width= 180, Height= 180 }
};
MiniWord.SaveAsByTemplate(path, templatePath, value);
表格
標(biāo)簽值為 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);
模版
導(dǎo)出
開源地址:https://gitee.com/dotnetchina/MiniWord
該文章在 2023/11/16 22:11:02 編輯過