Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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;
                }
            }
        }
Exemplo n.º 3
0
        /// <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));
        }
Exemplo n.º 4
0
        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));
        }