zoukankan      html  css  js  c++  java
  • asp.net 按指定模板导出word,pdf


    ///
    <summary> /// 导出word文件 /// </summary> /// <param name="templateFile">模板路径</param> /// <param name="fileNameWord">导出文件名称</param> /// <param name="fileNamePdf">pdf文件名称</param> /// <param name="bookmarks">模板内书签集合</param> /// <param name="invoiceline">发票条目列表</param> public static void GenerateWord(string templateFile, string fileNameWord, string fileNamePdf, Dictionary<string, string> bookmarks, List<InvoiceLineView> invoiceline) { Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application(); File.Copy(templateFile, fileNameWord, true); Microsoft.Office.Interop.Word.Document doc = new Microsoft.Office.Interop.Word.Document(); object Obj_FileName = fileNameWord; object Visible = false; object ReadOnly = false; object missing = System.Reflection.Missing.Value; doc = app.Documents.Open(ref Obj_FileName, ref missing, ref ReadOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref Visible, ref missing, ref missing, ref missing, ref missing); doc.Activate(); foreach (string bookmarkName in bookmarks.Keys) { object BookMarkName = bookmarkName;//获得书签名 Range range = doc.Bookmarks.get_Item(ref BookMarkName).Range;//表格插入位置 range.Text = bookmarks[bookmarkName]; } object IsSave = true; object FileName = fileNamePdf; object FileFormat = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatPDF; object LockComments = false; object AddToRecentFiles = true; object ReadOnlyRecommended = false; object EmbedTrueTypeFonts = false; object SaveNativePictureFormat = true; object SaveFormsData = false; object SaveAsAOCELetter = false; object Encoding = Microsoft.Office.Core.MsoEncoding.msoEncodingSimplifiedChineseGB18030; object InsertLineBreaks = false; object AllowSubstitutions = false; object LineEnding = Microsoft.Office.Interop.Word.WdLineEndingType.wdCRLF; object AddBiDiMarks = false; doc.SaveAs(ref FileName, ref FileFormat, ref LockComments, ref missing, ref AddToRecentFiles, ref missing, ref ReadOnlyRecommended, ref EmbedTrueTypeFonts, ref SaveNativePictureFormat, ref SaveFormsData, ref SaveAsAOCELetter, ref Encoding, ref InsertLineBreaks, ref AllowSubstitutions, ref LineEnding, ref AddBiDiMarks); doc.Close(ref IsSave, ref missing, ref missing); }

    调用

    Dictionary<string, string> bookmarks = new Dictionary<string, string>();
    bookmarks.Add("ContractDueDateTime", invoice.InvoiceTime.AddDays(invoice.ContractDueDate).ToString("D"));
    bookmarks.Add("CustomContactEmail", invoice.CustomContactEmail);
    bookmarks.Add("CustomContactName", invoice.CustomContactName);
    bookmarks.Add("ContractDueDate", invoice.ContractDueDate.ToString());
    bookmarks.Add("CustomContactTel", invoice.CustomContactTel);
    bookmarks.Add("CustomAddress", invoice.CustomAddress);
    bookmarks.Add("InvoiceTime", invoice.InvoiceTime.ToString());
    bookmarks.Add("InvoiceID", invoice.InvoiceID);
    bookmarks.Add("CustomName", invoice.CustomName);
    bookmarks.Add("CustomName2", invoice.CustomName);
    bookmarks.Add("total", invoice.TotalPrice.ToString("C"));
    bookmarks.Add("total1", invoice.TotalPrice.ToString("C"));
    bookmarks.Add("totalTax", invoice.TotalTax.ToString("C"));
    bookmarks.Add("totalPrice", (invoice.TotalPrice + invoice.TotalTax).ToString("C"));
    bookmarks.Add("totalPrice1", (invoice.TotalPrice + invoice.TotalTax).ToString("C"));
    bookmarks.Add("totalPrice2", (invoice.TotalPrice + invoice.TotalTax).ToString("C"));
    bookmarks.Add("totalPrice3", (invoice.TotalPrice + invoice.TotalTax).ToString("C"));
    bookmarks.Add("totalPrice4", (invoice.TotalPrice + invoice.TotalTax).ToString("C"));
    Utility.GenerateWord(templateFile, fileNameWord, fileNamePdf, bookmarks, invoiceline);

    新建一个word,在需要替换的位置插入书签,使用以上方法即可将书签处替换为指定内容,并且另存为pdf

  • 相关阅读:
    Android 使用EventBus进行Fragment和Activity通信
    Android 实现对多个EditText的监听
    Retrofit2.0动态url遇到的坑
    Android 轻松实现语音朗读
    Android 7.0 因为file://引起的FileUriExposedException异常
    Android拍照得到全尺寸图片并进行压缩/拍照或者图库选择 压缩后 图片 上传
    Toolbar自定义布局
    [致歉]2:05-6:35部分站点出现故障,给您带来麻烦,请谅解团队
    上周热点回顾(8.11-8.17)团队
    [网站公告]8月17日14:00-15:00(周日下午)发布新版站内短消息团队
  • 原文地址:https://www.cnblogs.com/fcq121/p/3312113.html
Copyright © 2011-2022 走看看