using Aspose.Words; using Aspose.Words.Drawing; using Aspose.Words.Saving; using Aspose.Words.Tables; using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Web; namespace CallCenter.Utility { public class AsposeWord { /// /// word版本 /// public int _docversion; /// /// word版本 /// public int Docversion { get { return _docversion; } set { _docversion = value; } } public DocumentBuilder oWordApplic; public Aspose.Words.Document oDoc; public void OpenWithTemplate(string strFileName) { if (!string.IsNullOrEmpty(strFileName)) { oDoc = new Aspose.Words.Document(strFileName); } } public void Open() { oDoc = new Aspose.Words.Document(); } public void Builder() { oWordApplic = new DocumentBuilder(oDoc); } /// /// 保存文件 /// /// public void SaveAs(string strFileName) { if (this.Docversion == 2007) { oDoc.Save(strFileName, SaveFormat.Docx); } else { oDoc.Save(strFileName, SaveFormat.Doc); } } /// /// 导出文件 /// /// public byte[] ExportAs() { using (MemoryStream ms = new MemoryStream()) { oDoc.Save(ms, SaveOptions.CreateSaveOptions(SaveFormat.Doc)); return ms.GetBuffer(); } } /// /// 设置纸张 /// /// public void setPaperSize(string papersize) { switch (papersize) { case "A4": foreach (Aspose.Words.Section section in oDoc) { section.PageSetup.PaperSize = PaperSize.A4; section.PageSetup.Orientation = Orientation.Portrait; section.PageSetup.VerticalAlignment = Aspose.Words.PageVerticalAlignment.Top; } break; case "A4H"://A4横向 foreach (Aspose.Words.Section section in oDoc) { section.PageSetup.PaperSize = PaperSize.A4; section.PageSetup.Orientation = Orientation.Landscape; section.PageSetup.TextColumns.SetCount(2); section.PageSetup.TextColumns.EvenlySpaced = true; section.PageSetup.TextColumns.LineBetween = true; //section.PageSetup.LeftMargin = double.Parse("3.35"); //section.PageSetup.RightMargin =double.Parse("0.99"); } break; case "A3": foreach (Aspose.Words.Section section in oDoc) { section.PageSetup.PaperSize = PaperSize.A3; section.PageSetup.Orientation = Orientation.Portrait; } break; case "A3H"://A3横向 foreach (Aspose.Words.Section section in oDoc) { section.PageSetup.PaperSize = PaperSize.A3; section.PageSetup.Orientation = Orientation.Landscape; section.PageSetup.TextColumns.SetCount(2); section.PageSetup.TextColumns.EvenlySpaced = true; section.PageSetup.TextColumns.LineBetween = true; } break; case "16K": foreach (Aspose.Words.Section section in oDoc) { section.PageSetup.PaperSize = PaperSize.B5; section.PageSetup.Orientation = Orientation.Portrait; } break; case "8KH": foreach (Aspose.Words.Section section in oDoc) { section.PageSetup.PageWidth = double.Parse("36.4 ");//纸张宽度 section.PageSetup.PageHeight = double.Parse("25.7");//纸张高度 section.PageSetup.Orientation = Orientation.Landscape; section.PageSetup.TextColumns.SetCount(2); section.PageSetup.TextColumns.EvenlySpaced = true; section.PageSetup.TextColumns.LineBetween = true; //section.PageSetup.LeftMargin = double.Parse("3.35"); //section.PageSetup.RightMargin = double.Parse("0.99"); } break; } } /// /// 导出交办单 /// public void CreateAssignWord(DataTable dt, DataTable jbdata, string usercode) { oWordApplic.MoveToBookmark("sxbh");//跳转到书签名是sxbh的位置 oWordApplic.Write(dt.Rows[0]["F_WorkOrderId"].ToString()); oWordApplic.MoveToBookmark("gdly"); oWordApplic.Write(dt.Rows[0]["SourceName"].ToString()); oWordApplic.MoveToBookmark("blsx"); if (jbdata!=null && jbdata.Rows.Count>0 && jbdata.Rows[0]["F_LimitTime"] != null && jbdata.Rows[0]["F_LimitTime"].ToString() != "") oWordApplic.Write(DateTime.Parse(jbdata.Rows[0]["F_LimitTime"].ToString()).ToString("yyyy-MM-dd")); else oWordApplic.Write(""); oWordApplic.MoveToBookmark("lxdh"); oWordApplic.Write(dt.Rows[0]["F_CusPhone"].ToString()); oWordApplic.MoveToBookmark("qssj"); if (jbdata != null && jbdata.Rows.Count > 0 && jbdata.Rows[0]["F_SureTime"] != null && jbdata.Rows[0]["F_SureTime"].ToString() != "") oWordApplic.Write(DateTime.Parse(jbdata.Rows[0]["F_SureTime"].ToString()).ToString("yyyy-MM-dd")); else oWordApplic.Write(""); oWordApplic.MoveToBookmark("slsj"); if (dt.Rows[0]["F_DealTime"] != null && dt.Rows[0]["F_DealTime"].ToString() != "") oWordApplic.Write(DateTime.Parse(dt.Rows[0]["F_DealTime"].ToString()).ToString("yyyy-MM-dd")); else oWordApplic.Write(""); oWordApplic.MoveToBookmark("ldr"); oWordApplic.Write(dt.Rows[0]["F_CusName"].ToString()); oWordApplic.MoveToBookmark("sxqy"); oWordApplic.Write(dt.Rows[0]["F_SourceAddress"].ToString()); oWordApplic.MoveToBookmark("nrzy"); if (dt.Rows[0]["F_Content"] != null && dt.Rows[0]["F_Content"].ToString() != "") { oWordApplic.Write(dt.Rows[0]["F_Content"].ToString()); } else { oWordApplic.Write(dt.Rows[0]["F_ComContent"].ToString()); } oWordApplic.MoveToBookmark("zbdw"); if(jbdata != null && jbdata.Rows.Count > 0) oWordApplic.Write(jbdata.Rows[0]["DeptName"].ToString()); else oWordApplic.Write(""); oWordApplic.MoveToBookmark("xbdw"); if (jbdata != null && jbdata.Rows.Count > 0) oWordApplic.Write(jbdata.Rows[0]["OtherDeptName"].ToString()); else oWordApplic.Write(""); oWordApplic.MoveToBookmark("ddyj"); if (jbdata != null && jbdata.Rows.Count > 0) oWordApplic.Write(jbdata.Rows[0]["F_AssignedOpinion"].ToString()); else oWordApplic.Write(""); oWordApplic.MoveToBookmark("cbyj"); oWordApplic.Write(""); oWordApplic.MoveToBookmark("ldps"); oWordApplic.Write(""); oWordApplic.MoveToBookmark("cljg"); oWordApplic.Write(dt.Rows[0]["F_Result"].ToString()); oWordApplic.MoveToBookmark("shy"); oWordApplic.Write(usercode); oWordApplic.MoveToBookmark("ddy"); if (jbdata != null && jbdata.Rows.Count > 0) oWordApplic.Write(jbdata.Rows[0]["F_CreateUser"].ToString()); else oWordApplic.Write(""); } /// /// 导出政策专家库 /// public void CreateProfessorWord(DataTable dt) { oWordApplic.MoveToBookmark("xh");//跳转到书签名是xh的位置 oWordApplic.Write(dt.Rows[0]["xh"].ToString()); oWordApplic.MoveToBookmark("zjxm"); oWordApplic.Write(dt.Rows[0]["F_XingMing"].ToString()); oWordApplic.MoveToBookmark("zjdw"); oWordApplic.Write(dt.Rows[0]["F_DanWei"].ToString()); oWordApplic.MoveToBookmark("ks"); oWordApplic.Write(dt.Rows[0]["F_KeShi"].ToString()); oWordApplic.MoveToBookmark("zw"); oWordApplic.Write(dt.Rows[0]["F_ZhiWu"].ToString()); oWordApplic.MoveToBookmark("sjhm"); oWordApplic.Write(dt.Rows[0]["F_ShouJi"].ToString()); oWordApplic.MoveToBookmark("bgdh"); oWordApplic.Write(dt.Rows[0]["F_DianHua"].ToString()); oWordApplic.MoveToBookmark("dq"); oWordApplic.Write(dt.Rows[0]["F_DiQu"].ToString()); oWordApplic.MoveToBookmark("sshy"); oWordApplic.Write(dt.Rows[0]["F_HangYe"].ToString()); oWordApplic.MoveToBookmark("sxsj"); if (dt.Rows[0]["F_ShengXiaoShiJian"] != null && dt.Rows[0]["F_ShengXiaoShiJian"].ToString() != "") oWordApplic.Write(DateTime.Parse(dt.Rows[0]["F_ShengXiaoShiJian"].ToString()).ToString("yyyy-MM-dd HH:mm:ss")); else oWordApplic.Write(""); oWordApplic.MoveToBookmark("sxsj1"); if (dt.Rows[0]["F_ShiXiaoShiJian"] != null && dt.Rows[0]["F_ShiXiaoShiJian"].ToString() != "") oWordApplic.Write(DateTime.Parse(dt.Rows[0]["F_ShiXiaoShiJian"].ToString()).ToString("yyyy-MM-dd HH:mm:ss")); else oWordApplic.Write(""); oWordApplic.MoveToBookmark("fbsj"); if (dt.Rows[0]["F_FaBuShiJian"] != null && dt.Rows[0]["F_FaBuShiJian"].ToString() != "") oWordApplic.Write(DateTime.Parse(dt.Rows[0]["F_FaBuShiJian"].ToString()).ToString("yyyy-MM-dd HH:mm:ss")); else oWordApplic.Write(""); oWordApplic.MoveToBookmark("fbr"); oWordApplic.Write(dt.Rows[0]["F_FaBuRen"].ToString()); oWordApplic.MoveToBookmark("fbdw"); oWordApplic.Write(dt.Rows[0]["F_FaBuDanWei"].ToString()); oWordApplic.MoveToBookmark("bsbm"); oWordApplic.Write(dt.Rows[0]["F_BiaoShiBianMa"].ToString()); oWordApplic.MoveToBookmark("zylyjj"); oWordApplic.Write(dt.Rows[0]["F_ZhuanYeLingYuJianJie"].ToString()); oWordApplic.MoveToBookmark("tp"); if (dt.Rows[0]["F_TouXiang"] != null && dt.Rows[0]["F_TouXiang"].ToString() != "") { string imgPath = HttpContext.Current.Server.MapPath(dt.Rows[0]["F_TouXiang"].ToString()); if (File.Exists(imgPath)) { oWordApplic.MoveToBookmark("tp"); oWordApplic.InsertImage(imgPath, RelativeHorizontalPosition.Margin, 1, RelativeVerticalPosition.Margin, 1, 100, 125, WrapType.Inline); } } } //导出办事指南 public void CreateGuideWord(DataTable dt, DataTable dt2) { oWordApplic.MoveToBookmark("xh");//跳转到书签名是xh的位置 oWordApplic.Write(dt.Rows[0]["xh"].ToString()); oWordApplic.MoveToBookmark("xh1");//跳转到书签名是xh的位置 oWordApplic.Write(dt.Rows[0]["xh"].ToString()); oWordApplic.MoveToBookmark("fbdw"); oWordApplic.Write(dt.Rows[0]["F_FaBuDanWei"].ToString()); oWordApplic.MoveToBookmark("fbr"); oWordApplic.Write(dt.Rows[0]["F_FaBuRen"].ToString()); oWordApplic.MoveToBookmark("sshy"); oWordApplic.Write(dt.Rows[0]["F_HangYe"].ToString()); oWordApplic.MoveToBookmark("dq"); oWordApplic.Write(dt.Rows[0]["F_DiQu"].ToString()); oWordApplic.MoveToBookmark("fbsj"); oWordApplic.Write(dt.Rows[0]["F_FaBuShiJian"].ToString()); oWordApplic.MoveToBookmark("sxsj"); if (dt.Rows[0]["F_ShengXiaoShiJian"] != null && dt.Rows[0]["F_ShengXiaoShiJian"].ToString() != "") oWordApplic.Write(DateTime.Parse(dt.Rows[0]["F_ShengXiaoShiJian"].ToString()).ToString("yyyy-MM-dd HH:mm:ss")); oWordApplic.MoveToBookmark("sxsj1"); if (dt.Rows[0]["F_ShiXiaoShiJian"] != null && dt.Rows[0]["F_ShiXiaoShiJian"].ToString() != "") oWordApplic.Write(DateTime.Parse(dt.Rows[0]["F_ShiXiaoShiJian"].ToString()).ToString("yyyy-MM-dd HH:mm:ss")); oWordApplic.MoveToBookmark("yjgjc1"); oWordApplic.Write(dt2.Rows.Count > 0 ? dt2.Rows[0]["leve1name1"].ToString() : ""); oWordApplic.MoveToBookmark("yjgjc"); oWordApplic.Write(dt2.Rows.Count > 0 ? dt2.Rows[0]["leve1name1"].ToString() : ""); oWordApplic.MoveToBookmark("ejgjc"); oWordApplic.Write(dt2.Rows.Count > 0 ? dt2.Rows[0]["leve1name2"].ToString() : ""); oWordApplic.MoveToBookmark("sjgjc"); oWordApplic.Write(dt2.Rows.Count > 0 ? dt2.Rows[0]["leve1name3"].ToString() : ""); oWordApplic.MoveToBookmark("sjgjc1"); oWordApplic.Write(dt2.Rows.Count > 0 ? dt2.Rows[0]["leve1name4"].ToString() : ""); oWordApplic.MoveToBookmark("ywmc"); oWordApplic.Write(dt.Rows[0]["F_YeWuMingCheng"].ToString()); oWordApplic.MoveToBookmark("bsbm"); oWordApplic.Write(dt.Rows[0]["F_BiaoShiBianMa"].ToString()); oWordApplic.MoveToBookmark("sqtj"); oWordApplic.Write(dt.Rows[0]["F_ShenQingTiaoJian"].ToString()); oWordApplic.MoveToBookmark("zcyj"); oWordApplic.Write(dt.Rows[0]["F_ZhengCeYiJu"].ToString()); oWordApplic.MoveToBookmark("wsbllj"); oWordApplic.Write(dt.Rows[0]["F_WangShangBanLiLianJie"].ToString()); oWordApplic.MoveToBookmark("bllc"); oWordApplic.Write(dt.Rows[0]["F_BanLiLiuCheng"].ToString()); oWordApplic.MoveToBookmark("blcl"); oWordApplic.Write(dt.Rows[0]["F_BanLiCaiLiao"].ToString()); oWordApplic.MoveToBookmark("blsx"); oWordApplic.Write(dt.Rows[0]["F_BanLiShiXian"].ToString()); oWordApplic.MoveToBookmark("bldd"); oWordApplic.Write(dt.Rows[0]["F_BanLiDiDian"].ToString()); oWordApplic.MoveToBookmark("sjdh"); if (dt.Rows[0]["F_BanLiShiJian"] != null && dt.Rows[0]["F_BanLiShiJian"].ToString() != "") oWordApplic.Write(DateTime.Parse(dt.Rows[0]["F_ShiXiaoShiJian"].ToString()).ToString("yyyy-MM-dd HH:mm:ss") + "," + dt.Rows[0]["F_BanLiDianHua"].ToString()); else oWordApplic.Write(dt.Rows[0]["F_BanLiDianHua"].ToString()); oWordApplic.MoveToBookmark("qtsm"); oWordApplic.Write(dt.Rows[0]["F_QiTaShuoMing"].ToString()); oWordApplic.MoveToBookmark("bz"); oWordApplic.Write(dt.Rows[0]["F_BeiZhu"].ToString()); oWordApplic.MoveToBookmark("fjsc"); oWordApplic.Write(dt.Rows[0]["fileurl"].ToString()); } //导出部门职能,政策法规 public void CreateDepartmentFunctionsWord(DataTable dt, DataTable dt2) { oWordApplic.MoveToBookmark("xh");//跳转到书签名是xh的位置 oWordApplic.Write(dt.Rows[0]["xh"].ToString()); oWordApplic.MoveToBookmark("xh1");//跳转到书签名是xh的位置 oWordApplic.Write(dt.Rows[0]["xh"].ToString()); oWordApplic.MoveToBookmark("fbdw"); oWordApplic.Write(dt.Rows[0]["F_FaBuDanWei"].ToString()); oWordApplic.MoveToBookmark("fbr"); oWordApplic.Write(dt.Rows[0]["F_FaBuRen"].ToString()); oWordApplic.MoveToBookmark("sshy"); oWordApplic.Write(dt.Rows[0]["F_HangYe"].ToString()); oWordApplic.MoveToBookmark("dq"); oWordApplic.Write(dt.Rows[0]["F_DiQu"].ToString()); oWordApplic.MoveToBookmark("fbsj"); if (dt.Rows[0]["F_FaBuShiJian"] != null && dt.Rows[0]["F_FaBuShiJian"].ToString() != "") oWordApplic.Write(DateTime.Parse(dt.Rows[0]["F_FaBuShiJian"].ToString()).ToString("yyyy-MM-dd HH:mm:ss")); oWordApplic.MoveToBookmark("sxsj"); if (dt.Rows[0]["F_ShengXiaoShiJian"] != null && dt.Rows[0]["F_ShengXiaoShiJian"].ToString() != "") oWordApplic.Write(DateTime.Parse(dt.Rows[0]["F_ShengXiaoShiJian"].ToString()).ToString("yyyy-MM-dd HH:mm:ss")); oWordApplic.MoveToBookmark("sxsj1"); if (dt.Rows[0]["F_ShiXiaoShiJian"] != null && dt.Rows[0]["F_ShiXiaoShiJian"].ToString() != "") oWordApplic.Write(DateTime.Parse(dt.Rows[0]["F_ShiXiaoShiJian"].ToString()).ToString("yyyy-MM-dd HH:mm:ss")); oWordApplic.MoveToBookmark("yjgjc1"); oWordApplic.Write(dt2.Rows.Count > 0 ? dt2.Rows[0]["leve1name1"].ToString() : ""); oWordApplic.MoveToBookmark("yjgjc"); oWordApplic.Write(dt2.Rows.Count > 0 ? dt2.Rows[0]["leve1name1"].ToString() : ""); oWordApplic.MoveToBookmark("ejgjc"); oWordApplic.Write(dt2.Rows.Count > 0 ? dt2.Rows[0]["leve1name2"].ToString() : ""); oWordApplic.MoveToBookmark("sjgjc"); oWordApplic.Write(dt2.Rows.Count > 0 ? dt2.Rows[0]["leve1name3"].ToString() : ""); oWordApplic.MoveToBookmark("sjgjc1"); oWordApplic.Write(dt2.Rows.Count > 0 ? dt2.Rows[0]["leve1name4"].ToString() : ""); oWordApplic.MoveToBookmark("fwwh"); oWordApplic.Write(dt.Rows[0]["F_FaWenWenHao"].ToString()); oWordApplic.MoveToBookmark("fwdw"); oWordApplic.Write(dt.Rows[0]["F_FaWenDanWei"].ToString()); oWordApplic.MoveToBookmark("znbm"); oWordApplic.Write(dt.Rows[0]["F_ZhiNengBuMen"].ToString()); oWordApplic.MoveToBookmark("bsbm"); oWordApplic.Write(dt.Rows[0]["F_BiaoShiBianMa"].ToString()); oWordApplic.MoveToBookmark("wjmc"); oWordApplic.Write(dt.Rows[0]["F_WenJianMingCheng"].ToString()); oWordApplic.MoveToBookmark("wjnr"); oWordApplic.Write(dt.Rows[0]["F_WenJianNeiRong"].ToString()); oWordApplic.MoveToBookmark("fjsc"); oWordApplic.Write(dt.Rows[0]["fileurl"].ToString()); } //热点问答 名词解释 public void CreateHotSpotWord(DataTable dt, DataTable dt2) { oWordApplic.MoveToBookmark("xh");//跳转到书签名是xh的位置 oWordApplic.Write(dt.Rows[0]["xh"].ToString()); oWordApplic.MoveToBookmark("xh1");//跳转到书签名是xh的位置 oWordApplic.Write(dt.Rows[0]["xh"].ToString()); oWordApplic.MoveToBookmark("fbdw"); oWordApplic.Write(dt.Rows[0]["F_FaBuDanWei"].ToString()); oWordApplic.MoveToBookmark("fbr"); oWordApplic.Write(dt.Rows[0]["F_FaBuRen"].ToString()); oWordApplic.MoveToBookmark("sshy"); oWordApplic.Write(dt.Rows[0]["F_HangYe"].ToString()); oWordApplic.MoveToBookmark("dq"); oWordApplic.Write(dt.Rows[0]["F_DiQu"].ToString()); oWordApplic.MoveToBookmark("fbsj"); if (dt.Rows[0]["F_FaBuShiJian"] != null && dt.Rows[0]["F_FaBuShiJian"].ToString() != "") oWordApplic.Write(DateTime.Parse(dt.Rows[0]["F_FaBuShiJian"].ToString()).ToString("yyyy-MM-dd HH:mm:ss")); oWordApplic.MoveToBookmark("sxsj"); if (dt.Rows[0]["F_ShengXiaoShiJian"] != null && dt.Rows[0]["F_ShengXiaoShiJian"].ToString() != "") oWordApplic.Write(DateTime.Parse(dt.Rows[0]["F_ShengXiaoShiJian"].ToString()).ToString("yyyy-MM-dd HH:mm:ss")); oWordApplic.MoveToBookmark("sxsj1"); if (dt.Rows[0]["F_ShiXiaoShiJian"] != null && dt.Rows[0]["F_ShiXiaoShiJian"].ToString() != "") oWordApplic.Write(DateTime.Parse(dt.Rows[0]["F_ShiXiaoShiJian"].ToString()).ToString("yyyy-MM-dd HH:mm:ss")); oWordApplic.MoveToBookmark("yjgjc1"); oWordApplic.Write(dt2.Rows.Count > 0 ? dt2.Rows[0]["leve1name1"].ToString() : ""); oWordApplic.MoveToBookmark("yjgjc"); oWordApplic.Write(dt2.Rows.Count > 0 ? dt2.Rows[0]["leve1name1"].ToString() : ""); oWordApplic.MoveToBookmark("ejgjc"); oWordApplic.Write(dt2.Rows.Count > 0 ? dt2.Rows[0]["leve1name2"].ToString() : ""); oWordApplic.MoveToBookmark("sjgjc"); oWordApplic.Write(dt2.Rows.Count > 0 ? dt2.Rows[0]["leve1name3"].ToString() : ""); oWordApplic.MoveToBookmark("sjgjc1"); oWordApplic.Write(dt2.Rows.Count > 0 ? dt2.Rows[0]["leve1name4"].ToString() : ""); oWordApplic.MoveToBookmark("fwwh"); oWordApplic.Write(dt.Rows[0]["F_FaWenWenHao"].ToString()); oWordApplic.MoveToBookmark("fwdw"); oWordApplic.Write(dt.Rows[0]["F_FaWenDanWei"].ToString()); oWordApplic.MoveToBookmark("bsbm"); oWordApplic.Write(dt.Rows[0]["F_BiaoShiBianMa"].ToString()); oWordApplic.MoveToBookmark("zcmc"); oWordApplic.Write(dt.Rows[0]["F_ZhengCeMingCi"].ToString()); oWordApplic.MoveToBookmark("rdwt"); oWordApplic.Write(dt.Rows[0]["F_ReDianWenTi"].ToString()); oWordApplic.MoveToBookmark("nrjd"); oWordApplic.Write(dt.Rows[0]["F_WenTiJieDa"].ToString()); oWordApplic.MoveToBookmark("jddw"); oWordApplic.Write(dt.Rows[0]["F_JieDaDanWei"].ToString()); oWordApplic.MoveToBookmark("fjsc"); oWordApplic.Write(dt.Rows[0]["fileurl"].ToString()); } } }