快速开始
/// <summary>
/// 快速开始
/// </summary>
static void QuickStart()
{
var baseDir = AppDomain.CurrentDomain.BaseDirectory;
var output = Path.Combine(baseDir, "output");
if (!Directory.Exists(output))
{
Directory.CreateDirectory(output);
}
var value = new Dictionary<string, object>() { ["Title"] = "我是标题" };
MiniSoftware.MiniWord.SaveAsByTemplate(Path.Combine(output, "001.docx"), Path.Combine(baseDir, "words", "001.docx"), value);
Console.WriteLine("快速开始成功");
}
模板
结果
插入图片
/// <summary>
/// 插入图片
/// </summary>
static void InsertImg()
{
var baseDir = AppDomain.CurrentDomain.BaseDirectory;
var output = Path.Combine(baseDir, "output");
if (!Directory.Exists(output))
{
Directory.CreateDirectory(output);
}
var value = new Dictionary<string, object>()
{
["img"] = new MiniWordPicture() { Path = Path.Combine(baseDir, "words", "002.jpg"), Width = 180, Height = 180 }
};
MiniWord.SaveAsByTemplate(Path.Combine(output, "002.docx"), Path.Combine(baseDir, "words", "002.docx"), value);
Console.WriteLine("插入图片成功");
}
插入列表
/// <summary>
/// 插入列表
/// </summary>
static void InsertList()
{
var baseDir = AppDomain.CurrentDomain.BaseDirectory;
var output = Path.Combine(baseDir, "output");
if (!Directory.Exists(output))
{
Directory.CreateDirectory(output);
}
var value = new Dictionary<string, object>()
{
["managers"] = new[] { "Jack", "Alan" },
["employees"] = new[] { "Mike", "Henry" },
};
MiniWord.SaveAsByTemplate(Path.Combine(output, "003.docx"), Path.Combine(baseDir, "words", "003.docx"), value);
Console.WriteLine("插入列表成功");
}
插入表格
/// <summary>
/// 插入表格
/// </summary>
static void InsertTable()
{
var baseDir = AppDomain.CurrentDomain.BaseDirectory;
var output = Path.Combine(baseDir, "output");
if (!Directory.Exists(output))
{
Directory.CreateDirectory(output);
}
var value = new Dictionary<string, object>()
{
["TripHs"] = new List<Dictionary<string, object>>
{
new Dictionary<string, object>
{
{ "Start",DateTime.Now},
{ "End",DateTime.Now.AddDays(30)},
{ "Send","王小明"},
{ "Photo",new MiniWordPicture() { Path = Path.Combine(baseDir, "words", "002.jpg"), Width = 160, Height = 160 }},
},
new Dictionary<string, object>
{
{ "Start",DateTime.Now},
{ "End",DateTime.Now.AddDays(30)},
{ "Send","朱大力"},
{ "Photo",new MiniWordPicture() { Path = Path.Combine(baseDir, "words", "002.jpg"), Width = 160, Height = 160 }},
},
}
};
MiniWord.SaveAsByTemplate(Path.Combine(output, "004.docx"), Path.Combine(baseDir, "words", "004.docx"), value);
Console.WriteLine("插入表格成功");
}
插入循环表格
/// <summary>
/// 插入循环
/// </summary>
static void InsertForeachTable()
{
var baseDir = AppDomain.CurrentDomain.BaseDirectory;
var output = Path.Combine(baseDir, "output");
if (!Directory.Exists(output))
{
Directory.CreateDirectory(output);
}
var value = new Dictionary<string, object>()
{
["TripHs"] = new List<Dictionary<string, object>>
{
new Dictionary<string, object>
{
{ "Start",DateTime.Now},
{ "End",DateTime.Now.AddDays(30)},
{ "Send","王小明"},
{ "Photo",new MiniWordPicture() { Path = Path.Combine(baseDir, "words", "002.jpg"), Width = 160, Height = 160 }},
{ "Details",new List<MiniWordForeach>()
{
new MiniWordForeach()
{
Value = new Dictionary<string, object>()
{
{"Jobs", "总经理"},
{"Names", "大华"}
},
Separator = " | "
},
new MiniWordForeach()
{
Value = new Dictionary<string, object>()
{
{"Jobs", "经理"},
{"Names", "小华"}
},
Separator = " | "
},
}
},
},
new Dictionary<string, object>
{
{ "Start",DateTime.Now},
{ "End",DateTime.Now.AddDays(30)},
{ "Send","朱大力"},
{ "Photo",new MiniWordPicture() { Path = Path.Combine(baseDir, "words", "002.jpg"), Width = 160, Height = 160 }},
{ "Details",new List<MiniWordForeach>()
{
new MiniWordForeach()
{
Value = new Dictionary<string, object>()
{
{"Jobs", "总经理"},
{"Names", "大明"}
},
Separator = " | "
},
new MiniWordForeach()
{
Value = new Dictionary<string, object>()
{
{"Jobs", "经理"},
{"Names", "小明"}
},
Separator = " | "
},
}
},
},
}
};
MiniWord.SaveAsByTemplate(Path.Combine(output, "005.docx"), Path.Combine(baseDir, "words", "005.docx"), value);
Console.WriteLine("插入循环表格成功");
}
插入条件表格
/// <summary>
/// 插入条件表格
/// </summary>
static void InsertIf()
{
var baseDir = AppDomain.CurrentDomain.BaseDirectory;
var output = Path.Combine(baseDir, "output");
if (!Directory.Exists(output))
{
Directory.CreateDirectory(output);
}
var value = new Dictionary<string, object>()
{
["Name"] = "张三"
};
MiniWord.SaveAsByTemplate(Path.Combine(output, "006_1.docx"), Path.Combine(baseDir, "words", "006.docx"), value);
value = new Dictionary<string, object>()
{
["Name"] = "李四"
};
MiniWord.SaveAsByTemplate(Path.Combine(output, "006_2.docx"), Path.Combine(baseDir, "words", "006.docx"), value);
Console.WriteLine("插入条件表格成功");
}
插入双层for循环
/// <summary>
/// 插入双层for循环
/// </summary>
static void Insert2ForeachTable()
{
var baseDir = AppDomain.CurrentDomain.BaseDirectory;
var output = Path.Combine(baseDir, "output");
if (!Directory.Exists(output))
{
Directory.CreateDirectory(output);
}
var value = new Dictionary<string, object>()
{
["LoopData"] = new List<object>()
{
new {
Type="类型A",
Items = new List<object>() {new {Name = "A-1"}, new {Name = "A-2"},}
},
new
{
Type="类型B",
Items = new List<object>() {new {Name = "B-1"}, new {Name = "B-2"}, new {Name = "B-3"},}
},
}
};
MiniWord.SaveAsByTemplate(Path.Combine(output, "007.docx"), Path.Combine(baseDir, "words", "007.docx"), value);
Console.WriteLine("插入循环表格成功");
}
循环+if表格