c#word文档:1.创建空白Word文档及保存/2.添加页内容...

---创建空白Word文档 ---

(1)创建一个名为OfficeOperator的类库项目。引用操作Word的.NET类库

(2)定义用于操作Word的类WordOperator1。添加引用Microsoft.Office.Interop.Word命名空间。 

(3)为WordOperator声明两个操作Word文档的私有对象,在WordOperator的构造函数中创建WordApp, 定义用于创建Word文档的函数CreateWord.代码如下: 

using Microsoft.Office.Interop.Word;// 引入Microsoft.Office.Interop.Word命名空间
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace OfficeOperator1
{public class WordOperator1{//为WordOperator1声明两个操作Word文档的私有对象Application WordApp;                                   //Word应用对象Document WordDoc;                                      //Word文档对象public WordOperator1()  //在WordOperator1的构造函数中创建WordApp{WordApp = new Application();                           //创建Word应用对象WordApp.Visible = true;                                //创建完成后是否显示Word文档}//定义用于创建Word文档的函数CreateWord,代码如下:public void CreateWord(){WordDoc = WordApp.Documents.Add();                                     //创建Word文档对象WordDoc.PageSetup.Orientation = WdOrientation.wdOrientPortrait;        //横板还是竖板WordDoc.PageSetup.LeftMargin = WordApp.CentimetersToPoints(0.5f);      //左边距WordDoc.PageSetup.RightMargin = WordApp.CentimetersToPoints(0.5f);     //右边距WordDoc.PageSetup.TopMargin = WordApp.CentimetersToPoints(0.5f);       //上边距WordDoc.PageSetup.BottomMargin = WordApp.CentimetersToPoints(0.5f);    //下边距WordDoc.PageSetup.PageWidth = 400;                                     //页宽,单位:像素WordDoc.PageSetup.PageHeight = 600;                                    //页高,单位:像素}}
}

(4)创建一个名为CreateWord的控制台应用程序,为其添加对OfficeOperator1项目的引用。实例化WordOperator1对象,创建Word文档。 

启动CreateWord的控制台应用程序:创建了一个空白word文档

 -------保存Word文档-------

(1)在WordOperator类中定义用于保存Word文档的函数SaveWord

(2)在WordOperator类中定义关闭Word应用程序的函数QuitWord

using Microsoft.Office.Interop.Word;// 引入Microsoft.Office.Interop.Word命名空间
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace OfficeOperator1
{public class WordOperator1{//为WordOperator1声明两个操作Word文档的私有对象Application WordApp;                                   //Word应用对象Document WordDoc;                                      //Word文档对象public WordOperator1()  //在WordOperator1的构造函数中创建WordApp{WordApp = new Application();                           //创建Word应用对象WordApp.Visible = true;                                //创建完成后是否显示Word文档}//定义用于创建Word文档的函数CreateWord,代码如下:public void CreateWord(){WordDoc = WordApp.Documents.Add();                                     //创建Word文档对象WordDoc.PageSetup.Orientation = WdOrientation.wdOrientPortrait;        //横板还是竖板WordDoc.PageSetup.LeftMargin = WordApp.CentimetersToPoints(0.5f);      //左边距WordDoc.PageSetup.RightMargin = WordApp.CentimetersToPoints(0.5f);     //右边距WordDoc.PageSetup.TopMargin = WordApp.CentimetersToPoints(0.5f);       //上边距WordDoc.PageSetup.BottomMargin = WordApp.CentimetersToPoints(0.5f);    //下边距WordDoc.PageSetup.PageWidth = 400;                                     //页宽,单位:像素WordDoc.PageSetup.PageHeight = 600;                                    //页高,单位:像素}public void SaveWord(string fileName){object FileName = fileName;                            //文档名称object FileFormat = WdSaveFormat.wdFormatDocument;     //Word文档保存格式object LockComments = false;                           //是否锁定批注object Password = "";                                  //打开Word文档密码object WritePassword = "";                             //修改Word文档密码object AddToRecentFiles = true;                       //是否将文档添加到近期使用的文件菜单中WordDoc.SaveAs(ref FileName, ref FileFormat, ref LockComments, ref Password, ref AddToRecentFiles, ref WritePassword);        //保存Word文档}public void QuitWord(){((_Document)WordDoc).Close();                          //关闭Word文档((_Application)WordApp).Quit();                        //退出Word应用}//退出Word应用程序}}

(3)将Word文档保存到当前目录,命名为“测试文档.doc”,然后退出Word应用程序。在CreateWord项目的main函数中添加代码

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OfficeOperator1;namespace CreateWord1
{internal class Program{static void Main(string[] args){WordOperator1 word = new WordOperator1();word.CreateWord();         //创建Word文档word.SaveWord(Directory.GetCurrentDirectory() + "\\测试文档11.doc");//保存Word文档word.QuitWord();}}
}

本实例代码主要实现了将创建好的Word文档保存到当前目录下。首先在WordOperator中定义了用于保存Word文档的方法SaveWord,通过调用WordDoc的SaveAs方法将Word文档保存到指定的路径,该方法中的参数较多,其中第一个参数FileName为文档的路径,第二个参数FileFormat为文件的格式,第三个参数LockComments表示是否锁定批注,第四个参数Password表示打开该文档所需的密码,第五个参数AddToRecentFiles表示是否将该文档添加到近期使用的文件菜单中,第六个参数WritePassword为修改该文档所需的密码,后面的参数就不作详细的介绍了。
保存好Word文档后,通过调用WordDoc的Close方法关闭该文档,最后通过WordApp的Quit方法退出对Word文档的操作。
在CreateWord项目的main函数中调用WordOperator对象的SaveWord方法来将创建的文档保存到当前目录下,然后调用QuitWord方法退出对Word文档的操作。

启动CreateWord1的控制台应用程序:

解决方案总框架:

------添加页眉和页脚------

 【实现过程】
(1)在OfficeOperator项目的WordOperator类中定义为Word文档设置页眉的函数SetPageHeader,代码如下:

public void SetPageHeader(string Text)
     {
         WordApp.ActiveWindow.View.Type = WdViewType.wdOutlineView;     //设置视图类型
         WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekPrimaryHeader;//选定页眉
         WordApp.ActiveWindow.ActivePane.Selection.InsertAfter(Text);//向页眉中添加文字
         WordApp.Selection.ParagraphFormat.Alignment =                          //设置居中对齐
             WdParagraphAlignment.wdAlignParagraphCenter;
         WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekMainDocument;//选定主文档
     }

(2)在WordOperator类中定义为Word文档设置页脚的函数SetPageFooter,代码如下:
public void SetPageFooter(string Text)
     {
         WordApp.ActiveWindow.View.Type = WdViewType.wdOutlineView;     //设置视图类型
         WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekPrimaryFooter;//选定页脚
         WordApp.ActiveWindow.ActivePane.Selection.InsertAfter(Text);   //向页脚中添加文字
         WordApp.Selection.ParagraphFormat.Alignment =                  //设置居中对齐
             WdParagraphAlignment.wdAlignParagraphCenter;
         WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekMainDocument; //选定主文档
     }

(3)在CreateWord项目的main函数中添加代码如下:
word.SetPageHeader("C#经典实例");                                  //添加页眉
     word.SetPageFooter("第17章  访问office");                              //添加页脚

启动CreateWord1的控制台应用程序:

.......\CreateWord1\bin\Debug   路径下打开文档,已添加页眉和页脚

------添加页码------

【实现过程】
(1)在OfficeOperator项目的WordOperator类中定义为Word文档添加页码的函数InsertPageNumber,代码如下:
public void InsertPageNumber(bool isFirstPage)
     {
         object Alignment = WdPageNumberAlignment.wdAlignPageNumberRight;//页码对齐方式
         object IsFirstPage = isFirstPage;                                      //是否从首页开始
         //对所有的页眉和页脚设置页码
         WdHeaderFooterIndex WdFooterIndex = WdHeaderFooterIndex.wdHeaderFooterPrimary;
         WordApp.Selection.Sections[1].Footers[WdFooterIndex].PageNumbers.Add
                        (ref Alignment, ref IsFirstPage);
  }
(2)在CreateWord项目的main函数中添加代码如下:
word.InsertPageNumber(true);                                          //添加页码

----文档中添加文字----

(1)在OfficeOperator项目的WordOperator类中定义为Word文档添加文字的函数InsertText,在Word文档中换行的函数NewLine

 (2)在CreateWord项目的main函数中添加代码如下

启动CreateWord1的控制台应用程序:

 

---文档中插入图片---

(1)在OfficeOperator项目的WordOperator类中定义向Word文档中插入图片的函数InsertPicture,代码如下:
public void InsertPicture(string FileName, int Width, int Height)
     {
         object LinkToFile = false;                                     //是否连接到文件
         object SaveWithDocument = true;                                //是否保存到文档中
         object Range = System.Reflection.Missing.Value;
         WordApp.Selection.ParagraphFormat.Alignment =                  //设置段落对齐方式
             WdParagraphAlignment.wdAlignParagraphCenter;
         InlineShape inlineShape = WordDoc.Application.Selection.InlineShapes.
             AddPicture(FileName, ref LinkToFile, ref SaveWithDocument, ref Range);  //添加图片
         if (Width != 0 || Height != 0)

       {
             inlineShape.Width = Width;                                 //设置图像宽度
             inlineShape.Height = Height;                               //设置图像高度
         } 
     }

(2)在CreateWord项目的main函数中添加代码如下:
word.InsertPicture(Directory.GetCurrentDirectory() + "\\189.png", 100, 75);
        //添加图片 

准备图片: 

启动CreateWord1的控制台应用程序: 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/832546.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity | Shader基础知识(第十三集:编写内置着色器阶段总结和表面着色器的补充介绍)

目录 前言 一、表面着色器的补充介绍 二、案例viewDir详解 1.viewDir是什么 2.viewDir的作用 3.使用viewDir写shader 前言 注意观察的小伙伴会发现,这组教程前半部分我们在编写着色器的时候,用的是顶点着色器和片元着色器的组合。 SubShader{CGPRO…

个股期权是什么,个股期权使用方法?

今天期权懂带你了解个股期权是什么,个股期权使用方法?个股期权作为金融市场的重要工具之一,是指投资者在约定时间内有权而非义务以约定价格买卖特定数量的个股的金融衍生品。 个股期权是什么? 个股期权合约是一种由交易所统一设定的标准化合…

git-新增业务代码分支

需求 使用git作为项目管理工具管理项目,我需要有两个分支,一个分支是日常的主分支,会频繁的推送和修改代码并推送另外一个是新的业务代码分支,是一个长期开发的功能,同时这个业务分支需要频繁的拉取主分支的代码&#…

Python_GUI框架 Pyside6的常用部件介绍

PySide6是一个非常完善的商用级别的GUI框架,涉及的知识点相对比较多,今天我先在这里介绍一下我们在实际应用中最常见的几种部件及其功能: 1. QMainWindow QMainWindow 提供了一个主应用程序窗口的框架,通常包含一个菜单栏、工具…

pytest教程-37-钩子函数-pytest_collection_finish

领取资料,咨询答疑,请➕wei: June__Go 上一小节我们学习了pytest_collection_start钩子函数的使用方法,本小节我们讲解一下pytest_collection_finish钩子函数的使用方法。 pytest_collection_finish(session) 是一个 pytest 钩子函数&…

03_Redis

文章目录 Redis介绍安装及使用redis的核心配置数据结构常用命令stringlistsethashzset(sortedset) 内存淘汰策略Redis的Java客户端JedisRedisson Redis 介绍 Redis是一个NoSQL数据库。 NoSQL: not only SQL。表示非关系型数据库(不支持SQL标准语法)。 …

Java特性之设计模式【享元模式】

一、享元模式 概述 享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式 享元模式尝试重用现有的同类对…

简述前后端分离架构案例

Hello , 这里是小恒不会java 。今晚1点写写关于RESTful接口的使用案例,本文会通过django原生js前后端分离的案例简单讲解。本文带你认识一下简化版的前后端分离架构 代码 本文案例代码在GitHub上 https://github.com/lmliheng/fontend前后端分离 先说说什么是前后…

GateWay检查接口耗时

添加gateway依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId> </dependency>创建一个LogTimeGateWayFilterFactory类&#xff0c;可以不是这个名字但是后面必须是x…

【高校科研前沿】中国科学院地理资源所钟帅副研究员研究组博士生朱屹东为一作在Top期刊发文:从潜力到利用:探索西藏风能资源开发的技术路径优化布局

01 文章简介 论文名称&#xff1a;From potential to utilization: Exploring the optimal layout with the technical path of wind resource development in Tibet&#xff08;从潜力到利用:探索西藏风能资源开发的技术路径优化布局&#xff09; 文章发表期刊&#xff1a;《…

【Pytorch】2.TensorBoard的运用

什么是TensorBoard 是一个可视化和理解深度爵溪模型的工具。它可以通过显示模型结构、训练过程中的指标和图形化展示训练的效果来帮助用户更好地理解和调试他们的模型 TensorBoard的使用 安装tensorboard环境 在终端使用 conda install tensorboard通过anaconda安装 导入类Sum…

蛋白质/聚合物防污的机器学习(材料基因组计划)

前言&#xff1a;对于采用机器学习去研究聚合物的防污性能&#xff0c;以及或者其他性质。目前根据我的了解我认为最困难的点有三条&#xff1a; 其一&#xff1a;数据&#xff0c;对于将要训练的数据必须要有三点要求&#xff0c;1.数据要多&#xff0c;也就是大数据&#xff…

电子取证平航杯的复现

闻早起部分&#xff1a; 一、闻早起的windows10电脑 &#xff08;1&#xff09;.“闻早起”所使用的笔记本电脑使用何种加密程式&#xff1f; 1.在EFI文件中找到加密程式 &#xff08;2&#xff09; 教徒“闻早起”所使用的笔记本电脑中安装了一款还原软件&#xff0c;其版本…

寻找最佳App分发平台:小猪APP分发脱颖而出

在当今移动应用市场日益饱和的环境下&#xff0c;选择一个合适的App分发平台对于开发者来说至关重要。这不仅关系到应用能否快速触达目标用户&#xff0c;还直接影响到品牌的塑造与市场份额的争夺。本文将深入探讨几大关键因素&#xff0c;帮助开发者判断哪个App分发平台最适合…

Whisper、Voice Engine推出后,训练语音大模型的高质量数据去哪里找?

近期&#xff0c;OpenAI 在语音领域又带给我们惊喜&#xff0c;通过文本输入以及一段 15 秒的音频示例&#xff0c;可以生成既自然又与原声极为接近的语音。值得注意的是&#xff0c;即使是小模型&#xff0c;只需一个 15 秒的样本&#xff0c;也能创造出富有情感且逼真的声音。…

【driver4】锁,错误码,休眠唤醒,中断,虚拟内存,tasklet

文章目录 1.互斥锁和自旋锁选择&#xff1a;自旋锁&#xff08;开销少&#xff09;的自旋时间和被锁住的代码执行时间成正比关系2.linux错误码&#xff1a;64位系统内核空间最后一页地址为0xfffffffffffff000~0xffffffffffffffff&#xff0c;这段地址是被保留的&#xff0c;如果…

全球260多个国家的年通货膨胀率数据集(1960-2021年)

01、数据简介 全球年通货膨胀率是指全球范围内&#xff0c;在一年时间内&#xff0c;物价普遍上涨的比率。这种上涨可能是由于货币过度供应、需求过热、成本上升等原因导致的。通货膨胀率是衡量一个国家或地区经济状况和物价水平的重要指标&#xff0c;通常以消费者价格指数&a…

深度学习之DCGAN

目录 须知 转置卷积 DCGAN 什么是DCGAN 生成器代码 判别器代码 补充知识 LeakyReLU&#xff08;x&#xff09; torch.nn.Dropout torch.nn.Dropout2d DCGAN完整代码 运行结果 图形显示 须知 在讲解DCGAN之前我们首先要了解转置卷积和GAN 关于GAN在这片博客中已经很…

数据结构——链表专题2

文章目录 一、返回倒数第k 个节点二、链表的回文结构三、相交链表 一、返回倒数第k 个节点 原题链接&#xff1a;返回倒数第k 个节点 利用快慢指针的方法&#xff1a;先让fast走k步&#xff0c;然后fast和slow一起走&#xff0c;直到fast为空&#xff0c;最后slow指向的结点就…

BGP路由控制实验

1、按照需求配置IP地址&#xff0c;R1和R4配置环回口模拟业务网段&#xff0c;R2、R3、R4配置Loopback0口地址作为OSPF的Router-id和IBGP邻居地址。 2、AS 200 内部配置OSPF&#xff0c;仅用于实现BGP的TCP可达&#xff0c;不允许宣告业务网段。 3、配置BGP&#xff0c;R1和R…