/// <summary> /// 根据列表的书签引用,导出Word文件。 /// </summary> /// <param name="templateFile">模板文件</param> /// <param name="saveFileName">要保存的文件名称,如a.doc</param> /// <param name="dictBookMark">书签键值列表</param> public static string ExportWithBookMark(string templateFile, string saveFileName, Dictionary <string, string> dictBookMark) { if (!File.Exists(templateFile)) { throw new ArgumentException(templateFile, string.Format("{0} 文件不存在", Path.GetFileName(templateFile))); } string saveFile = FileDialogHelper.SaveWord(saveFileName, "C:\\"); if (!string.IsNullOrEmpty(saveFile)) { Aspose.Words.Document doc = new Aspose.Words.Document(templateFile); foreach (string name in dictBookMark.Keys) { Aspose.Words.Bookmark bookmark = doc.Range.Bookmarks[name]; if (bookmark != null) { bookmark.Text = dictBookMark[name]; } } doc.Save(saveFile); } return(saveFile); }
/// <summary> /// 根据列表的书签引用,导出Word文件。 /// </summary> /// <param name="templateFile">模板文件</param> /// <param name="saveFileName">要保存的文件名称</param> /// <param name="dictBookMark">书签键值列表</param> public static void ExportWordWithBookMark(string templateFile, string saveFileName, Dictionary <string, string> dictBookMark) { if (!File.Exists(templateFile)) { MessageDxUtil.ShowWarning(Path.GetFileName(templateFile)); return; } string saveDocFile = FileDialogHelper.Save("保存Word文件", "Word文件(*.doc)|*.doc|All File(*.*)|*.*", saveFileName, "C:\\"); if (!string.IsNullOrEmpty(saveDocFile)) { try { Aspose.Words.Document doc = new Aspose.Words.Document(templateFile); foreach (string name in dictBookMark.Keys) { Aspose.Words.Bookmark bookmark = doc.Range.Bookmarks[name]; if (bookmark != null) { bookmark.Text = dictBookMark[name]; } } doc.Save(saveDocFile); if (MessageDxUtil.ShowYesNoAndTips("保存成功,是否打开文件?") == System.Windows.Forms.DialogResult.Yes) { System.Diagnostics.Process.Start(saveDocFile); } } catch (Exception ex) { LogHelper.Error(ex); MessageDxUtil.ShowError(ex.Message); return; } } }
/// <summary> /// 根据列表的书签引用,在Web环境中导出Word文件。 /// </summary> /// <param name="templateFile">模板文件(相对目录)</param> /// <param name="saveFileName">要保存的文件名称,如a.doc</param> /// <param name="dictBookMark">书签键值列表</param> public static void WebExportWithBookMark(string templateFile, string saveFileName, Dictionary <string, string> dictBookMark) { HttpContext curContext = HttpContext.Current; string physicPath = curContext.Server.MapPath(templateFile); if (!File.Exists(physicPath)) { throw new ArgumentException(templateFile, string.Format("{0} 文件不存在,", templateFile)); } Aspose.Words.Document doc = new Aspose.Words.Document(physicPath); foreach (string name in dictBookMark.Keys) { Aspose.Words.Bookmark bookmark = doc.Range.Bookmarks[name]; if (bookmark != null) { bookmark.Text = dictBookMark[name]; } } doc.Save(curContext.Response, saveFileName, Aspose.Words.ContentDisposition.Attachment, Aspose.Words.Saving.SaveOptions.CreateSaveOptions(Aspose.Words.SaveFormat.Doc)); }
protected void btnGenWord_Click(object sender, EventArgs e) { Dictionary <string, string> dictSource = new Dictionary <string, string>(); dictSource.Add("TIS_HANDLE_NO", "T0001"); dictSource.Add("ACCUSE_INDUSTRY", "出租车"); dictSource.Add("ACCUSER_NAME", "张三"); string templateFile = Server.MapPath("./Templates/Advice.doc"); Aspose.Words.Document doc = new Aspose.Words.Document(templateFile); //使用文本方式替换 foreach (string name in dictSource.Keys) { doc.Range.Replace(name, dictSource[name], true, true); } #region 使用书签替换模式 Aspose.Words.Bookmark bookmark = doc.Range.Bookmarks["ACCUSER_SEX"]; if (bookmark != null) { bookmark.Text = "男"; } bookmark = doc.Range.Bookmarks["ACCUSER_TEL"]; if (bookmark != null) { bookmark.Text = "1862029207*"; } #endregion doc.Save(Response, "testAdvice.doc", Aspose.Words.ContentDisposition.Attachment, Aspose.Words.Saving.SaveOptions.CreateSaveOptions(Aspose.Words.SaveFormat.Doc)); }