public static string CreateWord()
{
//**********************************************
//来自博客http://blog.csdn.net/fujie724
//**********************************************
object oMissing = System.Reflection.Missing.Value;
//创建一个Word应用程序实例
Microsoft.Office.Interop.Word._Application oWord = new Microsoft.Office.Interop.Word.Application();
//设置为不可见
oWord.Visible = false;
//模板文件地址,这里假设在X盘根目录 模板word 位置
object oTemplate = "d://采购单生成表.docx";
//以模板为基础生成文档
Microsoft.Office.Interop.Word._Document oDoc = oWord.Documents.Add(ref oTemplate, ref oMissing, ref oMissing, ref oMissing);
//声明书签数组
object[] oBookMark = new object[11];
//赋值书签名 //获取模板 指定书签
oBookMark[0] = "MerchantName";
oBookMark[1] = "CustomerName";
oBookMark[2] = "SHR";
oBookMark[3] = "PZS";
oBookMark[4] = "Address";
oBookMark[5] = "CGDNO";
oBookMark[6] = "Phone";
oBookMark[7] = "NO";
oBookMark[8] = "CreateTime";
oBookMark[9] = "Table"; //赋值任意数据到书签的位置
oDoc.Bookmarks.get_Item(ref oBookMark[0]).Range.Text = "新华瀚品";
oDoc.Bookmarks.get_Item(ref oBookMark[1]).Range.Text = "李四";
oDoc.Bookmarks.get_Item(ref oBookMark[2]).Range.Text = "李四";
oDoc.Bookmarks.get_Item(ref oBookMark[3]).Range.Text = "5";
oDoc.Bookmarks.get_Item(ref oBookMark[4]).Range.Text = "贺州平山开路区33号";
oDoc.Bookmarks.get_Item(ref oBookMark[5]).Range.Text = "CGD123456789";
oDoc.Bookmarks.get_Item(ref oBookMark[6]).Range.Text = "15832665267";
oDoc.Bookmarks.get_Item(ref oBookMark[7]).Range.Text = "A00001";
oDoc.Bookmarks.get_Item(ref oBookMark[8]).Range.Text = "2018/01/01"; Word.Range range = oDoc.Bookmarks.get_Item(ref oBookMark[9]).Range;
Word.Table textTable = oDoc.Tables.Add(range, 3, 8, ref oMissing, ref oMissing); /**表格 水平居中**/
oWord.Selection.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;
/**表格 外边线**/
textTable.Borders.OutsideLineStyle = Word.WdLineStyle.wdLineStyleSingle; /**设置 表格外边线 行**/
for (int k = 1; k <= 3; k++)
{
textTable.Rows[k].Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;
}
/**设置 表格外边线 列**/
for (int k = 1; k <= 8; k++)
{
textTable.Columns[k].Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;
if (k == 1)
{
textTable.Columns[k].Width = 40f;
}
} /**垂直居中**/
object unit = Microsoft.Office.Interop.Word.WdUnits.wdLine;
object countjz = 1;
oWord.Selection.MoveEnd(ref unit, ref countjz);
textTable.Select();
oWord.Selection.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;//水平居中 /**设置单元格表头**/
textTable.Cell(1, 1).Range.Text = "序号";
textTable.Cell(1, 1).Merge(textTable.Cell(2, 1));//合并得话 是在这里操作
textTable.Cell(1, 2).Range.Text = "条形码";
textTable.Cell(1, 2).Merge(textTable.Cell(2, 2));
textTable.Cell(1, 3).Range.Text = "品名";
textTable.Cell(1, 3).Merge(textTable.Cell(2, 3));
textTable.Cell(1, 4).Range.Text = "规格";
textTable.Cell(1, 4).Merge(textTable.Cell(2, 4));
textTable.Cell(1, 5).Range.Text = "计量单位";
textTable.Cell(1, 5).Merge(textTable.Cell(2, 5));
textTable.Cell(1, 6).Range.Text = "数量";
textTable.Cell(1, 6).Merge(textTable.Cell(2, 6));
textTable.Cell(1, 7).Range.Text = "发货价";
textTable.Cell(1, 7).Merge(textTable.Cell(2, 7));
textTable.Cell(1, 8).Range.Text = "备注";
textTable.Cell(1, 8).Merge(textTable.Cell(2, 8)); textTable.Rows.Select();
/**设置单元格样式 行**/
Word.Range rngCell = null;
for (int i = 1; i <= 8; i++)
{
textTable.Cell(1, i).Height = 20f;//设置 行高
rngCell = textTable.Cell(1, i).Range;
rngCell.Font.Bold = 1;
rngCell.Font.Name = "微软雅黑";
rngCell.Font.Size = 10.5f;
} /**添加 数据行**/
for (int i = 2; i < 3; i++)
{
textTable.Cell(i, 1).Range.Text = (i-1).ToString();
textTable.Cell(i, 2).Range.Text = "1";
textTable.Cell(i, 3).Range.Text = "1";
textTable.Cell(i, 4).Range.Text = "1";
textTable.Cell(i, 5).Range.Text = "1";
textTable.Cell(i, 6).Range.Text = "1";
textTable.Cell(i, 7).Range.Text = "1";
textTable.Cell(i, 8).Range.Text = "1";
} //保存生成的Word
object filename = "d://测试.docx";// 要 绝对路径 保存的位置
oDoc.SaveAs(ref filename, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing);
oDoc.Close(ref oMissing, ref oMissing, ref oMissing);
//关闭word
oWord.Quit(ref oMissing, ref oMissing, ref oMissing);
return ""; }
using Word = Microsoft.Office.Interop.Word;  声明方便使用

  

  

这个 之前需要 增加一个 word  模板 放到指定得位置 并在相应节点添加 书签   结合到  增加表单操作, 需要添加 下面得dll

作者注释: 这种方法  必须在服务器上安装 office 套装 才能完成 word 操作(安装需要掏钱得), 可以用 NPOI  相关插件,

直接项目中  管理 NuGet程序包    中搜索 NPOI 直接安装,在做相应操作

C# 后台模块 Word 模板操作的更多相关文章

  1. jar word 模板操作比较好用的工具

    个人觉得比较好用的java word 模板 http://deepoove.com/poi-tl/

  2. Open Xml SDK Word模板开发最佳实践(Best Practice)

    1.概述 由于前面的引文已经对Open Xml SDK做了一个简要的介绍. 这次来点实际的——Word模板操作. 从本质上来讲,本文的操作都是基于模板替换思想的,即,我们通过替换Word模板中指定元素 ...

  3. Freemaker基于word模板动态导出汇总整理

    Freemaker基于word模板动态导出汇总整理 一.使用的jar包: 二.Word模板动态导出的基本思路: 1.首先通过自己在word中创建好需要导出的word文本+表格的模板,模板中需要填写内容 ...

  4. 第三百零六节,Django框架,models.py模块,数据库操作——创建表、数据类型、索引、admin后台,补充Django目录说明以及全局配置文件配置

    Django框架,models.py模块,数据库操作——创建表.数据类型.索引.admin后台,补充Django目录说明以及全局配置文件配置 数据库配置 django默认支持sqlite,mysql, ...

  5. 四 Django框架,models.py模块,数据库操作——创建表、数据类型、索引、admin后台,补充Django目录说明以及全局配置文件配置

    Django框架,models.py模块,数据库操作——创建表.数据类型.索引.admin后台,补充Django目录说明以及全局配置文件配置 数据库配置 django默认支持sqlite,mysql, ...

  6. C#操作word模板插入文字、图片及表格详细步骤

    c#操作word模板插入文字.图片及表格 1.建立word模板文件 person.dot用书签 标示相关字段的填充位置 2.建立web应用程序 加入Microsoft.Office.Interop.W ...

  7. Csharp 简单操作Word模板文件

    原文:Csharp 简单操作Word模板文件 1.创建一个模板的Word文档  Doc1.dot 内容为: To: <Name> Sub:<Subject> Website i ...

  8. JAVA Asponse.Word Office 操作神器,借助 word 模板生成 word 文档,并转化为 pdf,png 等多种格式的文件

    一,由于该 jar 包不是免费的, maven 仓库一般不会有,需要我们去官网下载并安装到本地 maven 仓库 1,用地址   https://www-evget-com/product/564  ...

  9. [转]C#操作word模板插入文字、图片及表格详细步骤

    c#操作word模板插入文字.图片及表格 1.建立word模板文件 person.dot用书签 标示相关字段的填充位置 2.建立web应用程序 加入Microsoft.Office.Interop.W ...

随机推荐

  1. innodb的innodb_buffer_pool_size和MyISAM的key_buffer_size(转自:http://www.java123.net/898181.html)

    一. key_buffer_size 对MyISAM表来说非常重要. 如果只是使用MyISAM表,可以把它设置为可用内存的 -%.合理的值取决于索引大小.数据量以及负载 -- 记住,MyISAM表会使 ...

  2. JavaScript三(对象思想)

    JavaScript并不是面向对象的程序设计语言,但它是基于对象的.JavaScript中的每个函数都可用于创建对象,返回的对象既是该对象的实例,也是object的实例 . 一.对象与关联数组 Jav ...

  3. Eclipse git pull 报Nothing to fetch 异常原因

    eclipse git pull 报错 // 使用这个配置就可以正常pull了        [core]        symlinks = false         repositoryform ...

  4. Oracle体系结构之Oracle10gR2体系结构-内存、进程

    oracle体系结构图1 oracle体系结构图2 用户进程(访问oracle的客户端的总称) 工具的使用:sqlplus.pl/sql developer 如何访问数据库: 本机直接通过sock方式 ...

  5. <sourceDirectory>src/main/java</sourceDirectory> mvn 配置 包路径

    <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven ...

  6. MFC截图和界面刷新相关问题

    问题描写叙述:         就是首先用CDC来截图,保存图片的路径通过dlg窗体来手动设置并传入.但是截下来的图片就会连带那个对话框也截图下来.         就是这样.我想截后面那个图.前面这 ...

  7. SQL Server 2012 AlwaysON 同步延迟时间

    SELECT availability_mode_desc , role_desc , replica_server_name , last_redone_time , GETDATE() now , ...

  8. [Err]1418 This function has none of DETERMINISTIC,NO SQL,or R

    -----------------------------------------------------------------------------------------------      ...

  9. Django之Rest Framework框架

    一.什么是RESTful REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移” REST从资源的角度 ...

  10. Flask系列(二)Flask基础

    知识点回顾 1.flask依赖wsgi,实现wsgi的模块:wsgiref(django),werkzeug(flask),uwsgi(上线) 2.实例化Flask对象,里面是有参数的 app = F ...