国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

Aspose.Words導出dt到word的問題

2019-11-14 16:22:11
字體:
供稿:網(wǎng)友

已解決:單挑數(shù)據(jù)導入到一個Word文檔,導出文字和圖片成功,執(zhí)行Main();方法導出dt到word

待解決:多條數(shù)據(jù)(文字,圖片的導入到一個word文檔里面)從dt導入到word;已發(fā)現(xiàn)的錯誤提示“已添加了具有相同鍵的項”

所用dll庫下載地址:aspose.Words 和模板文件2.docx

 

以下為完整代碼。執(zhí)行Main()即可導出。

        PRivate void Main()        {            var dic = new Dictionary<string, string>();            Document doc = new Document(Server.MapPath(@"2.doc"));//模板文件路徑            string StrID = Request.Form["YX_CH"];//這里是獲取前臺GridView項目的值,穿給下面的dt作為查詢條件之一,另外的nodeid是節(jié)點編號            if (StrID == null)            {                WebMsgBox.Show("您還未選擇任何數(shù)據(jù)!");            }            DataTable dt = bArticle.GetList(" nodeid='" + Request.QueryString["nodeid"] + "' and ArticleID in (" + StrID + ")").Tables[0];            //if (dt.Rows.Count > 0)            //{            //    for (int i = 0; i < dt.Rows.Count; i++)            //    {
//以上4行注釋的為for循環(huán)(開始)
dic.Add("標題", dt.Rows[0]["art_title"].ToString()); //“已添加了具有相同鍵的項”開始的第一行,瀏覽器所指位置 dic.Add("日期", dt.Rows[0]["art_pubdate"].ToString()); dic.Add("圖片", Server.MapPath(@"/UploadFiles/Images/") + dt.Rows[0]["art_img"].ToString()); //使用特殊字符串替換 doc = new Document(Server.MapPath(@"2.doc")); foreach (var key in dic.Keys) { if (key != "圖片") { var repStr = string.Format("&{0}&", key); doc.Range.Replace(repStr, dic[key], false, false); } else { Regex reg = new Regex("&圖片&"); doc.Range.Replace(reg, new ReplaceAndInsertImage(Server.MapPath(@"/UploadFiles/Images/") + dt.Rows[i]["art_img"].ToString()), false); } } // } //}
             //以上4行注釋的為for循環(huán)(結(jié)束)
        doc.Save(Server.MapPath(@"2ks.doc"));//保存導出的文件 Response.End(); }
//插入圖片的一個方法
public class ReplaceAndInsertImage : IReplacingCallback { /// <summary> /// 需要插入的圖片路徑 /// </summary> public string url { get; set; } public ReplaceAndInsertImage(string url) { this.url = url; } public ReplaceAction Replacing(ReplacingArgs e) { //獲取當前節(jié)點 var node = e.MatchNode; //獲取當前文檔 Document doc = node.Document as Document; DocumentBuilder builder = new DocumentBuilder(doc); //將光標移動到指定節(jié)點 builder.MoveTo(node); //插入圖片 builder.InsertImage(url); return ReplaceAction.Replace; } }

 精簡以后的Main方法,但是還只是輸出一條數(shù)據(jù)。

        private void Main()        {            Document doc = new Document(Server.MapPath(@"2.doc"));            DataTable dt = bArticle.GetList(" nodeid='4'").Tables[0];                    if (dt.Rows.Count > 0)            {                for (int i = 0; i < dt.Rows.Count; i++)                {                    doc.Range.Replace("&標題&", dt.Rows[2]["art_title"].ToString(), false, false);                    doc.Range.Replace("&日期&", dt.Rows[i]["art_pubdate"].ToString(), false, false);
Regex reg = new Regex("&圖片&"); doc.Range.Replace(reg, new ReplaceAndInsertImage(Server.MapPath(@"/UploadFiles/Images/") + dt.Rows[i]["art_img"].ToString()), false); } doc.Save(Server.MapPath(@"2ks.doc")); Response.End(); } }

  


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 石家庄市| 洪洞县| 永登县| 南郑县| 梅州市| 宿迁市| 额尔古纳市| 遂溪县| 德惠市| 尤溪县| 宁国市| 六枝特区| 壶关县| 石阡县| 日喀则市| 黔南| 专栏| 巴塘县| 荣成市| 平定县| 南平市| 和田市| 建湖县| 车险| 宝兴县| 任丘市| 潢川县| 岐山县| 陕西省| 永州市| 雷山县| 桃园县| 子长县| 东乡族自治县| 夏津县| 昌都县| 云安县| 科技| 龙岩市| 淄博市| 伽师县|