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 ...
随机推荐
- 金融App面临安全风险?解锁HMS Core安全检测服务解决方案
数字经济时代,金融类App成为人们理财.购买证券股票以及办理各项银行业务的重要载体.科技驱动着金融行业的转型升级,但在创新发展的同时,金融App面临的安全风险类型与场景也在持续增加.如何更好地规避安全 ...
- ArkUI,更高效的框架设计
原文:https://mp.weixin.qq.com/s/uSIzuBby7Z92drNDmejKXw,点击链接查看更多技术内容. 上期文章我们讲到了ArkUI的三大特性,同时提到了Ark ...
- Cloud-computing 实验镜像 chinaskills_cloud_iaas.iso chinaskills_cloud_paas.iso
Cloud-computing 实验镜像 最近因新项目再次进行云计算环境的搭建, 找这两个镜像( 找chinaskills_cloud_paas.iso chinaskills_cloud_iaas. ...
- Maven 三种archetype说明合集【转载】
Maven 三种archetype说明 新建Maven project项目时,需要选择archetype. 那么,什么是archetype? archetype的意思就是模板原型的意思,原型是一个Ma ...
- redis 简单整理——哨兵原理[三十一]
前言 简单介绍一下哨兵的原理. 正文 一套合理的监控机制是Sentinel节点判定节点不可达的重要保证,Redis Sentinel通过三个定时监控任务完成对各个节点发现和监控: 1)每隔10秒,每个 ...
- task 如何终止线程
前言 这个直接上代码. 代码逻辑是使用var tokenSource = new CancellationTokenSource(); 让tokenSource 去取消.值得注意的是取消线程后,线程会 ...
- 面试官:说一说CyclicBarrier的妙用!我:这个没用过
写在开头 面试官:同学,AQS的原理知道吗? 我:学过一点,抽象队列同步器,Java中很多同步工具都是基于它的... 面试官:好的,那其中CyclicBarrier学过吗?讲一讲它的妙用吧 我:啊,这 ...
- Web前端 -- 利用Babel来将ES6转化为ES5代码
一.简介 Babel用来将ES6代码转为ES5代码. 二.安装 安装命令行转码工具 Babel提供babel-cli工具,用于命令行转码.它的安装命令如下: npm install --global ...
- 【Oracle】使用xmlagg(xmlparse(content()).getclobval()拼接信息
使用xmlagg(xmlparse(content()).getclobval()拼接信息 简单来说格式如下 xmlagg(xmlparse(content(内容||分割符)).getclobval( ...
- 中国大陆地区维护的Linux操作系统
Linux开源生态丰富,中国大陆地区基于CentOS停服,依托阿里云.腾讯云.华为云三大私营企业,相继发布了自己的开源Linux定制版,很高兴的是他们只是改个名字并没有选择闭门造车,只是官网还是很不耻 ...