一、操作Word 

  首先引用这个DLL,Microsoft.Office.Interop.Word,官方提供的。

  可以操作word文字,表格,图片等。

  文字通过替换关键字的方式实现

  document.Paragraphs[i].Range.Text = temptext.Replace("{$village}", "HELLO WORLD");

  表格可以自己获取模板中已有的表格

   Microsoft.Office.Interop.Word.Table table1 = document.Tables[1];

   table1.Cell(1, 1).Range.Text = "TEST1";

  也可以自己创建表格,可以设计表头,单元格等。

   int tableRow = 6 ;
int tableColumn = ;
//定义一个Word中的表格对象
Microsoft.Office.Interop.Word.Table table = document.Tables.Add(document.Paragraphs[i].Range,
tableRow, tableColumn, ref Nothing, ref Nothing);
   //默认创建的表格没有边框,这里修改其属性,使得创建的表格带有边框
table.Borders.Enable = 1;
table.Cell(1, 1).Merge(table.Cell(2, 1));//纵向合并
table.Cell(1, 1).Range.Text = "牌号/代码"; table.Cell(1, 2).Merge(table.Cell(2, 2));//纵向合并
table.Cell(1, 2).Range.Text = "标准编号";
  有一篇文章写的很详细可以参考下:https://www.cnblogs.com/xh6300/p/5915717.html
public bool CreateWord(DataTable dttmp)
{
bool result = false;
Object Nothing = Missing.Value;
Microsoft.Office.Interop.Word.Application application = new Microsoft.Office.Interop.Word.Application();
Microsoft.Office.Interop.Word.Document document = null;
string path = @"C:\Users\Administrator\Desktop\BB\合同模版.doc";
object FileName = @"C:\Users\Administrator\Desktop\BB\" + DateTime.Now.ToString("yyyyMMddHHmmssffffff") + ".doc";
application.Visible = false;
document = application.Documents.Open(path); int rowNum = dttmp.Rows.Count;
for (int i = ; i <= document.Paragraphs.Count; i++)
{
string temptext = document.Paragraphs[i].Range.Text;
//以下为替换文档模版中的关键字
if (temptext.Contains("{$village}"))
document.Paragraphs[i].Range.Text = temptext.Replace("{$village}", "HELLO WORLD");
Microsoft.Office.Interop.Word.Table table1 = document.Tables[];
table1.Cell(, ).Range.Text = "TEST1";
if (temptext.Contains("{$Table1}"))
{
//设置表格的行数和列数
int tableRow = + rowNum;
int tableColumn = ;
//定义一个Word中的表格对象 Microsoft.Office.Interop.Word.Table table = document.Tables.Add(document.Paragraphs[i].Range,
tableRow, tableColumn, ref Nothing, ref Nothing);
//默认创建的表格没有边框,这里修改其属性,使得创建的表格带有边框
table.Borders.Enable = ;//这个值可以设置得很大
table.Cell(, ).Merge(table.Cell(, ));//纵向合并
table.Cell(, ).Range.Text = "牌号/代码"; table.Cell(, ).Merge(table.Cell(, ));//纵向合并
table.Cell(, ).Range.Text = "标准编号"; table.Cell(, ).Merge(table.Cell(, ));
table.Cell(, ).Range.Text = "单重\n(MT)"; table.Cell(, ).Merge(table.Cell(, ));
table.Cell(, ).Range.Text = "张数"; table.Cell(, ).Merge(table.Cell(, ));
table.Cell(, ).Range.Text = "重量\n(MT))"; table.Cell(, ).Merge(table.Cell(, ));
table.Cell(, ).Range.Text = "单价\n(元/吨)"; table.Cell(, ).Merge(table.Cell(, ));
table.Cell(, ).Range.Text = "金额(人民币)"; table.Cell(, ).Merge(table.Cell(, ));
table.Cell(, ).Range.Text = "交货期"; table.Cell(, ).Merge(table.Cell(, ));//横向合并
table.Cell(, ).Range.Text = "规格(mm)";
table.Cell(, ).Range.Text = "厚度";
table.Cell(, ).Range.Text = "宽度";
table.Cell(, ).Range.Text = "宽度"; table.Cell(, ).Merge(table.Cell(, ));
table.Cell(, ).Range.Text = "表面加工";
table.Cell(, ).Range.Text = "边缘";
table.Cell(, ).Range.Text = "精度"; }
} object format = document.SaveFormat;
document.Save(); application.Quit(ref Nothing, ref Nothing, ref Nothing);
return result; }

二、Word导出PDF

  

 public bool WordToPDF(string sourcePath)
{
bool result = false;
Microsoft.Office.Interop.Word.Application application = new Microsoft.Office.Interop.Word.Application();
Microsoft.Office.Interop.Word.Document document = null;
try
{
application.Visible = false;
document = application.Documents.Open(sourcePath);
string PDFPath = sourcePath.Replace(".doc", ".pdf");//pdf存放位置
if (!File.Exists(@PDFPath))//存在PDF,不需要继续转换
{
document.ExportAsFixedFormat(PDFPath, Microsoft.Office.Interop.Word.WdExportFormat.wdExportFormatPDF);
}
result = true;
}
catch (Exception e)
{
Console.WriteLine(e.Message);
result = false;
}
finally
{
//document.Close();
}
return result;
}

服务器部署可以参考;https://www.cnblogs.com/5426z/articles/4865312.html

C#——操作Word并导出PDF的更多相关文章

  1. Aspose.Words操作word生成PDF文档

    Aspose.Words操作word生成PDF文档 using Aspose.Words; using System; using System.Collections.Generic; using ...

  2. iText导出pdf、word、图片

    一.前言 在企业的信息系统中,报表处理一直占比较重要的作用,本文将介绍一种生成PDF报表的Java组件--iText.通过在服务器端使用Jsp或JavaBean生成PDF报表,客户端采用超级连接显示或 ...

  3. Itext导出PDF,word,图片案例

    iText导出pdf.word.图片 一.前言 在企业的信息系统中,报表处理一直占比较重要的作用,本文将介绍一种生成PDF报表的Java组件--iText.通过在服务器端使用Jsp或JavaBean生 ...

  4. Ireport 报表导出 Poi + ireport 导出pdf, word ,excel ,htm

    Ireport 报表导出 Poi + ireport 导出pdf, doc ,excel ,html 格式 下面是报表导出工具类reportExportUtils 需要导出以上格式的报表 只需要调用本 ...

  5. jacob 操作word转pdf

    项目需要对上传的word及pdf进行在线预览,因基于jquery的pdf插件,很方面实现在线预览,而word实现在线预览费劲不少,于是想到在进行上传处理时,直接将word转成pdf,在预览时直接预览p ...

  6. Java使用IText(VM模版)导出PDF,IText导出word(二)

    ===============action=========================== //退款导出word    public void exportWordTk() throws IOE ...

  7. 使用POI导出Word(含表格)的实现方式及操作Word的工具类

    .personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...

  8. Java操作word转pdf

    如果转换后出现乱码,是doc格式的文档的话请转换为docx!!! 下载相关jar包和一个授权到2099年的凭证文件. 链接: https://pan.baidu.com/s/1xudkKqR1-TLL ...

  9. Spring Boot 系列教程18-itext导出pdf下载

    Java操作pdf框架 iText是一个能够快速产生PDF文件的java类库.iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的.它的类库尤其与java Servlet有很好 ...

随机推荐

  1. 用 Splashtop Wired XDisplay HD 让 ipad做电脑扩展屏幕__亲测有效

    参考: [1]https://blog.csdn.net/Tang_Chuanlin/article/details/86433152

  2. np.append()

    1.numpy.append() np.append(arr,values,axis=None) 功能:在array后面追加values 参数: arr:array_like 值将附加到此数组的副本. ...

  3. 访问控制 RAM(Resource Access Management),知识点

    资料 网址 什么是访问控制 https://help.aliyun.com/document_detail/28672.html?spm=5176.11065259.1996646101.search ...

  4. IE6兼容性bug汇总

    1.终极方法:条件注释 <!--[if lte IE 6]> 这段文字仅显示在 IE6及IE6以下版本. <![endif]--> <!--[if gte IE 6]&g ...

  5. Browser cannot find PAC because wpad hostname cannot be resolved

    Enterprise Network administrator may faultly forget to configure wpad hostname to DNS server. If use ...

  6. es6 中的模块导入与nodejs 中模块的导入的异同!

    我们知道es6 的模块导入导出是通过import 和 export 来实现,而nodejs的模块导入导出是通过require 和module.exports 来实现,那么它们有什么异同吗? 请看如下: ...

  7. 推荐:Markdown编辑软件 --- 小书匠

    推荐:Markdown编辑软件 --- 小书匠 小书匠 使用手册 Markdown编辑工具推荐小书匠工具,功能丰富,简单使用,可以一步导文件至博客园主页. 概要 小书匠编辑器是一款专为markdown ...

  8. GoldenDict词典配置

    词典下载网址:http://download.huzheng.org/ 将下载后的词典解压放入 /usr/share/goldendict/dicts 下 程序设置里扫描文件夹,搜索出词典信息 设置自 ...

  9. c# 文件夹权限

    /// <summary>         /// 创建文件路径         /// </summary>         /// <param name=" ...

  10. Spring Boot进阶系列二

    上一篇文章,主要分析了怎么建立一个Restful web service,系列二主要创建一个H5静态页面使用ajax请求数据,功能主要有添加一本书,请求所有书并且按照Id降序排列,以及查看,删除一本书 ...