下载地址:https://download.csdn.net/download/tanta/10649932
一、介绍
Simple.Docx是一个简单的word组件,可以对word97以后的docx文件进行书签的替换操作。使用于需要根据模板来生成word文档的客户使用。
(一)程序的优点:
1、小巧。程序大小仅8K;
2、原生,不依赖第三方组件。程序纯C#所写,不依赖任何第三方组件,不需要安装任何word及其他程序;
3、保持文档原有格式。你的word模板设计成什么样式,输出的docx文件就是什么样式,不需要做任何操作,包括字体、颜色等等都按原样输出;
4、速度快。输出速度极快,远快于通过office组件的输出速度;
5、及其简单的调用方式。详见使用说明及例程;
6、可自由设定数据的输出格式。
(二)缺点
1、只能完成书签替换的方式。如果你有需求,需要其他功能,可以Email给我,说不定哪天就添加上了,Email:278544343@QQ.COM
2、支持.net framework 4.5以上。主要是用到了4.5的一个类库。如果需要支持低版本的,可以联系我,使用第三方的类库,可以支持到framework 2.0以上。
(三)Simple系列组件
1、准备做Simple系列组件,通过最简单、简洁的方式,完成需要的功能。还没想好要写什么,这是第一个,还有一个针对金税盘的,其他的需求大家可以给我Email。
二、使用方法
(一)准备word模板
1、按照你要生成的word文件使用word等软件设计word(必须存为docx格式);
2、在需要插入数据的地方,插入一个书签,书签名不能重复,最好跟数据类的对应项相同,方便后续调用。
(二)程序调用
1、添加引用:Simple.Docx.dll
2、在程序中 using Simple.Docx;
3、程序调用方法:
a、方法1:
// 需要提前设计数据类,类的属性要跟书签一致,此处略,详见示例文档
// 类中可以使用AttributeFormat特性来设定数据的输出格式,格式详见String.Format中的format函数。实际上,此组件就是使用String.Format函数来输出指定格式的。详见示例文档
Person tPerson=Person.GetDefault(); // 生成测试对象
string fileName = System.Environment.CurrentDirectory + @"\test.docx"; // docx模板
SimpleDocx myDocx = new SimpleDocx(fileName);
myDocx.ReplaceBookMark(tPerson); // 使用对象数据来替换word中的书签(注1)
myDocx.SaveDoc(@"d:\111.docx"); // 保存文档
myDocx.Dispose(); // 清理环境垃圾
// 注1:ReplaceBookMark提供两种替换方式,一种是通过类的相同属性名自动替换,如上例所示;还有一种方式是通过dictionary来显式调用,如下例所示
b、方法2:
Dictionary<string, string> map = new Dictionary<string, string>(){
{"name","黄大勇"},{"sex","男"},{"birth","1974-12-13"},{"tel","13366666666"},{"email","278544343@QQ.com"} };
string fileName = System.Environment.CurrentDirectory + @"\test.docx"; // docx模板
SimpleDocx myDocx = new SimpleDocx(fileName);
myDocx.ReplaceBookMark(map); // 使用对象数据来替换word中的书签
myDocx.SaveDoc(@"d:\111.docx"); // 保存文档
myDocx.Dispose(); // 清理环境垃圾