C# Aspose.Word 操作word文档【一】

版权声明:小生不才,能帮助众人皆可。 https://blog.csdn.net/qq_23126581/article/details/78038519

首先说下需要引用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  不用书签的方法 !

猜你喜欢

转载自blog.csdn.net/qq_23126581/article/details/78038519