C# Aspose.Word 操作word文档【一】
首先说下需要引用Aspose.Word.dll 这个可以百度下载。
1.建好word模板:我以WPS为例
2.为word模板创建书签(BookMark):
上面图会看到空白地方有个像大写 “I” 一样的东西,这个是插入书签后出现的。
点击word模板中空白处,然后在插入里找到书签,点击书签,命一个有意义的命名。
3.保存模板,然后就是写代码工作了。
string tempFile = Path.GetFullPath("resource/templete/项目建议书模板.doc").ToString(); //获取模板路径,这个根据个人模板路径而定。
Document doc = new Document(tempFile);
DocumentBuilder builder = new DocumentBuilder(doc); //操作word
DataTable dt = BLLMD_YW_GongDan.GetGDListToWord(keyID); //数据源,这个你们可以获取数据库的,也可以弄假数据
Dictionary<string, string> dic = new Dictionary<string, string>(); 创建键值对 第一个string 为书签名称 第二个string为要填充的数据
DataRow dr = dt.Rows[0];
dic.Add("GongChengMingCheng", dr["GongChengMingCheng"].ToString()); //项目名称
dic.Add("DanWei", dr["DanWei"].ToString()); //单位
dic.Add("XiangMuKaiShiSJ", Convert.ToDateTime(dr["XiangMuKaiShiSJ"].ToString()).ToShortDateString()); //项目开始时间
dic.Add("XiangMuJieZhiSJ", Convert.ToDateTime(dr["XiangMuJieZhiSJ"].ToString()).ToShortDateString()); //项目结束时间
dic.Add("SheBeiJiBenQK", dr["SheBeiJiBenQK"].ToString()); //设备基本情况
foreach (var key in dic.Keys) //循环键值对
{
builder.MoveToBookmark(key); 将光标移入书签的位置
builder.Write(dic[key]); //填充值
}
doc.Save(tempFile); //保存word
4.看看模板效果吧。
注意:下篇介绍word里的table 不用书签的方法 !