最近在做有个业务需要Word做好模版,数据库取出业务数据在写入Word模版里面,然后生成PDF给客户端的业务人员

之前找了半天,没有找到用微软的Microsoft.Office.Interop.Word.WdExportRange 做,在调试的时候,完全没问题,但发布到服务端的时候,各种配置,组件安装的提示,最后都要崩溃了

最后不得已换了Aspose.Words 这个用起来真是爽啊

用法很简单 代码如下 :

  DataTable ret_val = DataLibrary.cl_DataLibrary.ds_ExecuteReader(sqlText.ToString(), CommandType.Text, new OracleParameter[] { op_SaleDetailNo, op_ShopNo }).Tables[];
//取出业务数据
if (ret_val.Rows.Count > )
{ Document doc = new Document(Server.MapPath("./printfiles/word模版.docx"));
DocumentBuilder builder = new DocumentBuilder(doc); Bookmark bm_SaleName;
if (doc.Range.Bookmarks["txt_titleuser"] != null)
{
bm_SaleName = doc.Range.Bookmarks["txt_titleuser"];
bm_SaleName.Text = ret_val.Rows[]["titleuser"].ToString();
} Bookmark bm_SaleNumber;
if (doc.Range.Bookmarks["txt_SaleNumber"] != null)
{
bm_SaleNumber = doc.Range.Bookmarks["txt_SaleNumber"];
bm_SaleNumber.Text = ret_val.Rows[]["SaleNumber"].ToString();
}
Bookmark bm_txt_v_question7_N;//
if (doc.Range.Bookmarks["txt_v_question7_N"] != null)
{
bm_txt_v_question7_N = doc.Range.Bookmarks["txt_v_question7_N"];
bm_txt_v_question7_N.Text = ret_val.Rows[]["v_question7_N"].ToString();
}
string strPathName = ret_val.Rows[]["titleuser"].ToString() + DateTime.Now.ToString("yyyyMMddHHmmssffff"); doc.Save(Server.MapPath("./printfiles/word模版" + strPathName + ".docx"), SaveFormat.Docx);//生成Docx
doc.Save(Server.MapPath("./printfiles/word模版" + strPathName + ".pdf"), SaveFormat.Pdf);//生成PDF
}

生成PDF就是这么简单

这里重点说一下Aspose.Words;

破解版的才会支持中文转换成PDF,英文默认支持 中文会出现乱码

Aspose.Words 的使用 Aspose.Total_for_.NET的更多相关文章

  1. Aspose.Cells 导出 excel

    Aspose.Cells.Workbook book = new Aspose.Cells.Workbook(); Aspose.Cells.Worksheet sheet = book.Worksh ...

  2. ASPose导出excel简单操作

    string file = FileDialogHelper.SaveExcel(string.Format("{0}.xls", excelName)); if (!string ...

  3. 利用Aspose.Word控件和Aspose.Cell控件,实现Word文档和Excel文档的模板化导出

    我们知道,一般都导出的Word文档或者Excel文档,基本上分为两类,一类是动态生成全部文档的内容方式,一种是基于固定模板化的内容输出,后者在很多场合用的比较多,这也是企业报表规范化的一个体现. 我的 ...

  4. Aspose Cells 添加数据验证(动态下拉列表验证)

    参考 :http://www.componentcn.com/kongjianjishu/kongjianjishu/2015-06-04/2781.html Aspose Cells是一款操作和处理 ...

  5. 使用Aspose插件将程序中的表格,导出生成excel表格

    http://www.cnblogs.com/lanyue52011/p/3372452.html这个是原文地址 /// <summary> /// 点击按钮,将内存表导出excel表格! ...

  6. 利用Aspose文档转图片

    通过使用Aspose您可以轻松的将您的文档转换成真正的图片格式,最好的保证您的内容将实际可见,与其他格式相比,它并不存在查看工具的安装问题. 准备工作: 1:下载Aspose组件包:http://do ...

  7. 利用Aspose.Word控件实现Word文档的操作

    Aspose系列的控件,功能都挺好,之前一直在我的Winform开发框架中用Aspose.Cell来做报表输出,可以实现多样化的报表设计及输出,由于一般输出的内容比较正规化或者多数是表格居多,所以一般 ...

  8. 黄聪:利用Aspose.Word控件实现Word文档的操作(转)

    撰写人:伍华聪  http://www.iqidi.com  Aspose系列的控件,功能都挺好,之前一直在我的Winform开发框架中用Aspose.Cell来做报表输出,可以实现多样化的报表设计及 ...

  9. EpPlus读取生成Excel帮助类+读取csv帮助类+Aspose.Cells生成Excel帮助类

    大部分功能逻辑都在,少量自定义异常类和扩展方法 ,可用类似代码自己替换 //EpPlus读取生成Excel帮助类+读取csv帮助类,epplus只支持开放的Excel文件格式:xlsx,不支持 xls ...

随机推荐

  1. sqoop的export的说明

    1.通用参数说明

  2. Android常见控件— — —ProgressBar

    ProgressBar用于在界面上显示一个进度条,表示我们的程序正在加载一些数据. <?xml version="1.0" encoding="utf-8" ...

  3. window2008 r2 负载均衡

    两台服务器win2008 r2  ,iis7.5  ip地址192.168.5.16,  192.168.5.18  虚拟ip 192.168.5.30 设置过程: 1.在两台服务器上安装负载均衡模块 ...

  4. poj 1185 (状压dp)

    Problem 炮兵阵地 题目大意 给你一张n*m的地图,一些地区是空地,一些地区是障碍. 可以在空地上布置炮兵部队,炮兵部队的攻击范围为上下左右各两格. 询问最多可以布置多少个炮兵部队,且互不伤害. ...

  5. 为CDH 5.7集群添加Kerberos身份验证及Sentry权限控制

    转载请注明出处:http://www.cnblogs.com/xiaodf/ 4. 为CDH 5集群添加Kerberos身份验证 4.1 安装sentry1.点击“操作”,“添加服务”:2.选择sen ...

  6. for循环相关

    循环语句是指令式编程的常见语句,Scala对其加以改进,成为适应函数式风格的利器. for循环中的变量,没有val或者var,是因为变量的类型,完全是集合中的元素的类型.作用域持续到括号结束. 在sc ...

  7. thinking in Java 学习

    1.句柄 所谓句柄实际上是一个数据,是一个long的数据. 句柄是WINDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图, ...

  8. Java笔记6-数组

    知识大纲一.数组的应用由于数组是用来存储数据的,所以,它的操作总是增.删除.改.查的操作.数组做为一种最基本的数据结构,它在查询上效率是最高的.但是在增加.删除的操作效率是最低的. 因为,数组的长度一 ...

  9. Android Studio Exception汇总

    Android Studio 运行时出现 finished with non-zero exit value 2 错误分析 原因: 项目包含了两个相同包名的不同 project 或者 jar 举例: ...

  10. ✡ leetcode 159. Longest Substring with At Most Two Distinct Characters 求两个字母组成的最大子串长度 --------- java

    Given a string, find the length of the longest substring T that contains at most 2 distinct characte ...