winform 使用Clipboard 和windows Word Com组件 把Html 导出到word
private void saveAsWordCopy(string destFileName)
{ Microsoft.Office.Interop.Word.Application wordApp = null; //声明word应用程序变量
Microsoft.Office.Interop.Word.Document worddoc = null; object Nothing = Missing.Value; //COM调用时用于占位
try
{
object path; //声明文件路径变量 object format = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatDocument; //Word文档的保存格式
wordApp = new Microsoft.Office.Interop.Word.ApplicationClass(); //声明一个wordAPP对象
worddoc = wordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref Nothing); worddoc.ActiveWindow.View.SeekView = oWord.WdSeekView.wdSeekPrimaryFooter;
wordApp.Selection.HeaderFooter.LinkToPrevious = false;
wordApp.Selection.HeaderFooter.Range.ParagraphFormat.Alignment = oWord.WdParagraphAlignment.wdAlignParagraphCenter; wordApp.Selection.HeaderFooter.Range.Text = string.Empty; object oNumberAlignment = oWord.WdPageNumberAlignment.wdAlignPageNumberCenter;
object oFirstPage = true;
wordApp.Selection.HeaderFooter.PageNumbers.Add(ref oNumberAlignment, ref oFirstPage);
wordApp.ActiveWindow.View.SeekView = oWord.WdSeekView.wdSeekMainDocument; var data = HtmlFData(strHtml); MemoryStream sMem = new MemoryStream(); byte[] byteHtml = Encoding.UTF8.GetBytes(data); sMem.Write(byteHtml, 0, byteHtml.Length);
sMem.Flush(); var dataObject = new DataObject();
dataObject.SetData(DataFormats.Html, sMem); Clipboard.SetDataObject(dataObject); worddoc.Paragraphs.Last.Range.Paste();
//设置段落段后格式 add by hq 20200527
worddoc.Paragraphs.SpaceAfter = 0;
worddoc.Paragraphs.LineUnitAfter = 0;
Clipboard.Clear();
sMem.Close(); path = destFileName; //设置文件保存路劲
worddoc.SaveAs(ref path, ref format, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing); worddoc.Close(ref Nothing, ref Nothing, ref Nothing); //关闭worddoc文档对象
wordApp.Quit(ref Nothing, ref Nothing, ref Nothing); //关闭wordApp组对象 wordApp = null; }
catch (Exception ex)
{
if (worddoc != null)
{
worddoc.Close(ref Nothing, ref Nothing, ref Nothing); //关闭worddoc文档对象
}
if (wordApp != null)
{
wordApp.Quit(ref Nothing, ref Nothing, ref Nothing); //关闭wordApp组对象
}
}
}
winform 使用Clipboard 和windows Word Com组件 把Html 导出到word的更多相关文章
- PowerDesigner导出word,PowerDesigner把表导出到word,PDM导出word文档
PowerDesigner导出word,PowerDesigner把表导出到word,PDM导出word文档 >>>>>>>>>>>& ...
- javascript下用ActiveXObject控件替换word书签,将内容导出到word后打印第1/2页
由于时间比较紧,没多的时候去学习研究上述工具包,现在用javascript操作ActiveXObject控件,用替换word模板中的书签方式解决. 最近有需求将数据导出到word里,然后编辑打印. 想 ...
- 调用office Word Com 组件,提示权限不足处理
最近一直在处理一个项目,项目主要功能与Office-Word 有关,主要涉及到文本内容编辑与样式设置等相关内容.因项目依赖office 相关dll,需要兼容多种Office 版本(office 200 ...
- [.NET] 开头不讲"Hello Word",读尽诗书也枉然 : Word 操作组件介绍 - Spire.Doc
开头不讲"Hello Word",读尽诗书也枉然 : Word 操作组件介绍 - Spire.Doc [博主]反骨仔 [原文地址]http://www.cnblogs.com/li ...
- Winform(C#.NET)自动更新组件的使用及部分功能实现
声明:核心功能的实现是由园子里圣殿骑士大哥写的,本人是基于他核心代码,按照自己需求进行修改的. 而AutoUpdaterService.xml文件生成工具是基于评论#215楼 ptangbao的代 ...
- Winform开发框架之通用Windows摄像头调用拍照--SNF快速开发平台3.3-Spring.Net.Framework
今天做了一个windows系统下调用摄像头.进行开启.关闭.拍照.设置等等功能演示. 进行源码贡献,欢迎大家下载使用 一.DEMO效果如下: 二.DEMO演示代码如下: using SNF.Utili ...
- 开源Word读写组件DocX 的深入研究和问题总结
一. 前言 前两天看到了asxinyu大神的[原创]开源Word读写组件DocX介绍与入门,正好我也有类似的自动生成word文档得需求,于是便仔细的研究了这个DocX. 我也把它融入到我的项目当中并进 ...
- 把数据输出到Word (组件形式)
上一篇的文章中我们介绍了在不使用第三方组件的方式,多种数据输出出到 word的方式,最后我们也提到了不使用组件的弊端,就是复杂的word我们要提前设置模板.编码不易控制.循环输出数据更是难以控制.接下 ...
- Windows 运行时组件
Windows 运行时组件是自包含对象,可将其实例化,并可采用任一语言使用它,包括 C#.Visual Basic.JavaScript 和 C++. 你可以使用 Visual Studio 和 C# ...
- Winform(C#.NET)自动更新组件的使用及部分功能实现(一点改进功能)
接前两篇继续: Winform(C#.NET)自动更新组件的使用及部分功能实现 Winform(C#.NET)自动更新组件的使用及部分功能实现(续) 借鉴文章:http://www.cnblogs.c ...
随机推荐
- C#实现的下拉多选框,下拉多选树,多级节点
今天给大家上个硬货,下拉多选框,同时也是下拉多选树,支持父节点跟子节点!该控件是基于Telerik控件封装实现的,所以大家在使用的过程中需要引用Telerik.WinControls.dll.Tele ...
- Health Kit接入资质要求详解,开发不迷路!
开发运动/健康应用过程中,需要使用Health Kit提供的数据能力,作为独立的个人开发者或是企业开发者,接入时分别需要满足什么样的条件呢? 个人开发者接入资质审核要求 •个人开发者应用需上架至华为应 ...
- HarmonyOS—UI 开发性能提升的推荐方法
注:本文转载自 HarmonyOS 官网文档 开发者若使用低性能的代码实现功能场景可能不会影响应用的正常运行,但却会对应用的性能造成负面影响.本章节列举出了一些可提升性能的场景供开发者参考,以避免应用 ...
- CentOS 7.9编译安装Python-3.10.13
目录 查看CentOS版本.系统默认gcc版本.Python版本和pip版本 部署Python-3.10.13 测试 将yum中的Python版本修改为系统原来的2.7.5版本 查看CentOS版本. ...
- WPF随笔收录-DataGrid固定右侧列
一.前言 在项目开发过程中,DataGrid是经常使用到的一个数据展示控件,而通常表格的最后一列是作为操作列存在,比如会有编辑.删除等功能按钮.但WPF的原始DataGrid中,默认只支持固定左侧列, ...
- maven BUILD FAILURE
maven BUILD FAILURE 使用命令进行导包失败,错误为BUILD FAILURE 然后使用mvn help:system看一下是不是maven有问提 然后出现了新的错误No plugin ...
- 力扣564(java)-寻找最近的回文数(困难)
题目: 给定一个表示整数的字符串 n ,返回与它最近的回文整数(不包括自身).如果不止一个,返回较小的那个. "最近的"定义为两个整数差的绝对值最小. 示例 1: 输入: n = ...
- 迁移 Express 到函数计算
首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数计算准备计 ...
- 一个好的科技公司logo长这样!
简介:一个好的科技logo能体现出行业独有的专业性和技术优势,让你的公司科技感加满! 近年来,越来越多的初创公司崭露头角,其中科技互联网公司的比重非常高.小云也收到很多朋友的留言,询问科技类公司应该 ...
- [Ethereum] 浅谈加密商品市场 OpenSea 与 opensea-js
OpenSea 是用于交易以太坊加密商品的网上商店,主要的商品是 ERC721.ERC1155 标准的 Token. 它的特色就在于,只需要一个部署好的智能合约,你就能在 OpenSea 提供的界面上 ...