操作Word模板文件.dot 结合具体数据 生成Word文档 .doc

Qt操作word模板、自动生成word文档 qt操作word文档、自动生成word文档 阅读详情
 

1.建立word模板文件 person.dot
2.建立web应用程序 加入Microsoft.Office.Interop.Word引用
3.相关示例代码
========================

1.建立word模板文件 person.dot
  用书签 标示相关字段的填充位置

2.建立web应用程序 加入Microsoft.Office.Interop.Word引用
  具体添加引用请参看
  http://www.microsoft.com/china/msdn/library/office/office/OfficePrIntopAssFAQ.mspx?mfr=true

3.相关示例代码
---------------
  以下代码改编自
  http://blog.ccidnet.com/blog-htm-do-showone-uid-9416-type-blog-itemid-145551.html

protected void Button1_Click(object sender, EventArgs e)
{
    Microsoft.Office.Interop.Word.ApplicationClass appWord = null;//应用程序
    Microsoft.Office.Interop.Word.DocumentClass doc = null;//文档
    try
    {
        appWord = new ApplicationClass();
        appWord.Visible = false;
        object objTrue = true;
        object objFalse = false;
        object objTemplate = Server.MapPath("person.dot");//模板路径
        object objDocType = WdDocumentType.wdTypeDocument;
        doc = (DocumentClass)appWord.Documents.Add(ref objTemplate, ref objFalse, ref objDocType,

ref objTrue);
        //第一步生成word文档
        //定义书签变量
        object obDD_Name = "bm_Name";//姓 名
        object obDD_Sex = "bm_Sex";//性 别
        object obDD_Birthday = "bm_Birthday"; //出生年月

        //第二步 读取数据,填充数据集
        System.Data.DataTable dt = new DataTable();
        dt.Columns.Add("p_Name");
        dt.Columns.Add("p_Sex");
        dt.Columns.Add("p_Birthday");
        DataRow dr = dt.NewRow();
        dr["p_Name"] = "张三";
        dr["p_Sex"] = "男";
        dr["p_Birthday"] = "1980-01-01";
        dt.Rows.Add(dr);

        //第三步 给书签赋值
        //给书签赋值
        doc.Bookmarks.get_Item(ref obDD_Name).Range.Text = dt.Rows[0]["p_Name"].ToString(); //姓 名
        doc.Bookmarks.get_Item(ref obDD_Sex).Range.Text = dt.Rows[0]["p_Sex"].ToString();//性 别
        doc.Bookmarks.get_Item(ref obDD_Birthday).Range.Text = dt.Rows[0]["p_Birthday"].ToString

();//年龄

        //第四步 生成word
        object filename = Server.MapPath("~") + "\\" + dt.Rows[0]["p_Name"].ToString() + ".doc";
        object miss = System.Reflection.Missing.Value;
        doc.SaveAs(ref filename, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref

miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss);
        object missingValue = Type.Missing;
        object doNotSaveChanges = WdSaveOptions.wdDoNotSaveChanges;
        doc.Close(ref doNotSaveChanges, ref missingValue, ref missingValue);
        appWord.Application.Quit(ref miss, ref miss, ref miss);
        doc = null;
        appWord = null;
               
    }
    catch (System.Exception ex)
    {
        //捕捉异常,如果出现异常则清空实例,退出word,同时释放资源
        string aa = ex.ToString();
        object miss = System.Reflection.Missing.Value;
        object missingValue = Type.Missing;
        object doNotSaveChanges = WdSaveOptions.wdDoNotSaveChanges;
        doc.Close(ref doNotSaveChanges, ref missingValue, ref missingValue);
        appWord.Application.Quit(ref miss, ref miss, ref miss);
        doc = null;
        appWord = null;
    }
}

-----
以上代码在运行时 如遭遇80070005错误
 
解决方法一:
控制面板-》管理工具-》组件服务-》计算机-》我的电脑-》DCom配置-》找到Microsoft Word文档
之后
单击属性打开此应用程序的属性对话框。 
2. 单击标识选项卡,然后选择交互式用户。
3.单击"安全"选项卡,分别在"启动和激活权限"和"访问权限"组中选中"自定义",然后
自定义->编辑->添加ASP.NET账户和IUSER_计算机名
4. 确保允许每个用户访问,然后单击确定。
5. 单击确定关闭 DCOMCNFG。

解决方法二:
如果上述方法不能解决问题,就应该是权限问题,请尝试用下面的方法:
在web.config中使用身份模拟,在<system.web>节中加入  <identity impersonate="true" userName="你的用户名

" password="密码"/>
 </system.web>

详细解决办法请参看
http://blog.youkuaiyun.com/lizhizhe2000/archive/2007/03/16/1531417.aspx

Spire.Doc for Python 3.12 实战:Word 转 HTML 保留 3 项关键格式(图片/表单/页眉) 本文详细介绍了如何使用Spire.Doc for Python 3.12实现Word到HTML的高保真格式转换,重点解析了保留图片、表单和页眉等关键格式的技术方案。通过核心配置参数、图片处理技巧、表单字段特殊处理及页眉页脚控制等实战内容,帮助开发者解决文档转换中的常见问题,提升自动化处理效率。 阅读详情

相关推荐

网络工程系统CAD图:从设计到落地的关键技能与实战指南

网络工程并不只是配置路由器和交换机,真正的核心在于将设计方案转化为可施工的物理图纸。网络工程系统CAD图正是连接逻辑设计与物理世界的桥梁,它涵盖综合布线、信息点布置、桥架路由、弱电间规划等关键内容。理解并掌握这套图纸体系,是网络工程师从基础设备调试走向项目主导者、弱电总工乃至网络架构师的重要分水岭。在园区网、数据中心、智能楼宇等真实场景中,一套规范的系统CAD图直接决定了施工质量、验收效率与后期运维的可靠性。本文从基础概念出发,拆解图纸的组成层次、绘制流程和软件工作流,并结合学习路线与就业方向,帮助初学者建

weixin_33860553的博客 391

QT 之利用.dot模板生成docx

背景看前人的总结问题 需要在qt里面生成docx。想到利用.dot模板,利用.dot里面的书签,代码去往标签填充内容。 看前人的总结 这个博主的可以直接用 :https://blog.csdn.net/qq_36809882/article/details/82107760 更多详细操作看这位博主: C++ QAxObject::dynamicCall方法代码示例 问题 虽然用QAxObject、QAxWidget可以实现利用模板生成docx,实现添加文字、添加图片、居中等操作,但是标签似乎只能唯一,不可以

绑个蝴蝶结的博客 1032

UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount()【已解决】

UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount()【已解决】

围炉夜敲的博客 1万+

C#通过模板文件(.dot)生成Word文档(.doc)以及PDF文档(.pdf)-----服务于检测仪上位机病理诊断报告单打印技术

C#通过模板文件(.dot)生成Word文档(.doc)---**第一步引用DLL,Net自带的Microsoft Word 16.0 Object Library**以及Microsoft.Office.Interop.Word.dll 将对应的Word文档保存为PDF格式输出

NCUTer 1086

Android Studio打包全攻略---从入门到精通

初出茅庐 手动打包怎么手动打包项目写完了,现在需要把应用上传到市场,问题出现—怎么把代码变成.apk(Android的可安装文件)。 1. 创建签名文件 2. 填写好签名参数 3. 生成APK 注意:签名的密码和密匙的密码注意保管,不要忘了,签名文件别泄漏了,也别搞丢了为什么要打包我最开始就有这个疑问,我们的代码不是点了下运行按钮就直接安装到手机上了吗,我们在在项目Project

我早就想,要这样载着你,翻山越岭 2万+

PointPainting 复现

三维目标检测

weixin_58207716的博客 4533

Qt:如何生成word报表

在工作学习中,有时会需要将采集的数据生成word报表的形式,如设备可靠性检测报告,检定报告等。 本文将主要陈述如何利用Qt生成word报表。 除去必要的代码,生成word报表还需要开发人员自己创建一个word模板,关于模板的样式,根据工程需要而定,只需要将文本需要替换的地方插入书签即可,关于word模板的设置后面会进行陈述。 UI界面展示 说明: 前界面的①实验设备②检测温度③鉴定依据...

qq_41605114的博客 1万+

IAR9.30以上版本安装、注册、新建工程和配置过程详细介绍

IAR 一般是指一款嵌入式软件的集成开发环境,类似于 MDK-Keil 这款软件。IAR 对于不同的内核处理器,是对应不同的 IAR 软件的,IAR 到目前为止支持大部分的MCU,比如8051系列、ARM架构系列、MSP430系列、AVR系列等等这些常用的芯片架构。对于 ARM 架构的芯片,有对应的 IAR Embedded Workbench for ARM 软件平台,因为我主要是使用 ARM 架构芯片,下面安装、注册和使用都是基于这个版本进行介绍的。

luobeihai的博客 6万+

java 根据模板文件生成word文档——doc

java 根据模板文件生成word文档——doc功能描述环境说明步骤第一步 制作xml第二步 制作模板第三步 写Java工具类 功能描述 实现批量生成标识签,及生成多页的文档(图中二维码也属于数据一部分),如下图: 环境说明 Java office 2016专业版 FreeMarker 步骤 第一步 制作xml 新建word,制作带有数据的模板(如果有图片随便插入一个图片占位)。然后将word文...

qq_33334411的博客 2486

DDS信号发生器设计避坑指南:从AD9834配置到巴特沃斯滤波实战

本文详细解析了基于AD9834芯片的DDS信号发生器设计中的关键技术要点与常见陷阱,涵盖时钟源选择、寄存器配置时序、巴特沃斯滤波器设计等核心内容。针对中高频段信号质量优化,提供了实用的解决方案和代码示例,帮助工程师规避设计误区,提升信号发生器的性能和稳定性。

2y3u4i5o6p的博客 782

通过轻量级图像增强Transformer (IAT) 提升YOLOv8在低光环境下的检测性能

随着深度学习和计算机视觉的快速发展,目标检测模型在各个领域中的应用不断扩展,特别是在低照度环境下的视觉任务。YOLOv8作为当前最先进的目标检测模型之一,在高亮度和良好照明条件下表现出色,但在低照度环境下的性能存在一定的不足。为了解决这一问题,我们提出了一种轻量级的低照度图像增强网络(IAT)来改进YOLOv8的暗光检测能力。本篇文章将深入探讨这一创新改进,并附带代码实现,帮助大家更好地理解这一技术的应用和效果。

博客 1214

VC 6下word操作心得二---以.dot模板生成.doc文档

(1)生成Dialog时,要选择ActiveX; (2)在initdialog中初始化OLE环境 BOOL CDialogTestDlg::OnInitDialog() 中添加 if(!AfxOleInit())      {        AfxMessageBox("OLE Initialization Failed");        return FALSE;      }

ybdesire的专栏 6506

《Python Web项目集锦》-专栏介绍和目录

本专栏专注于Python Web项目,涉及内容包含FastAPI、Django、Flask等,所有项目代码完整且可直接运行。不管是零基础还是有经验的开发,相信都能从本专栏获益。有任何问题欢迎私聊博主,专栏持续更新中...

数据知道的博客 5213

JAVA通过模板生成DOC文档

将word文档另存为xml文件 接下来,上面写的拼音就起到作用了. 打开xml文件.搜索 要替换的内容. 改为 ${内容} 改完后,把文件的后缀名直接改成ftl。 代码: package com.hentor.apps.bestsign.util; import java.io.BufferedWriter; import java.io.File; impo

无人问津的博客 2409

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

.NET版Word处理控件Aspose.Words功能演示:从C#.NET中的模板生成Word文档

为了从JSON生成Word文档,我们将使用JsonDataSource类加载和使用JSON数据源,其余步骤将保持不变。下面的代码示例演示如何使用C#中的JSON从模板生成Word文档。在本文中,我将演示如何在C#中以动态方式和编程方式从模板生成Word文档。现在,我们将使用Aspose.Words的报告引擎,按照以下步骤从Sender类的模板和对象生成Word文档。下面的代码示例演示如何从C#中的XML数据源生成Word文档。下面的代码示例演示如何从C#中的模板生成Word文档。...

励志做最业余的专业博主,控件产品可以私我~ 885

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

一级计算机word字处理教程,四川省计算机一级WORD字处理题库.doc

四川省计算机一级WORD字处理题库第5章 WORD字处理一、判断正误题1、对于插入的图片,只能是图在上,文在下,或文在上,图在下,不能产生环绕效果。2、在WORD环境下,可以在编辑文件的同时又打印另外一份文件。3、用“格式”工具栏可以快速建立样式。首先选定要建立样式的段落,单击格式栏上的“样式”框,从中输入新名字。4、WORD能够识别很多应用程序的文件格式,并且当你打开文档时可以自动转换文档。5...

weixin_42718924的博客 610

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Word宏病毒

Word宏病毒 【实验目的】 1、演示宏的编写。 2、说明宏的原理及其安全漏洞和缺陷。 3、理解宏病毒的作用机制,从而加强对宏病毒的认识,提高防范意识。 【实验环境】 在windows虚拟机中演示word宏病毒的发生机制,以及如何清除病毒的一系列操作宏病毒样本:自我复制及感染病毒(copy.txt)类台湾一号病毒(No1.txt) 实验注意事项:为了保证该试验不至于造成较大破坏性,进行实验感染后,被感染终端不要打开过多的word文档,否则清除比较麻烦(对每个打开过的文档都要清除)。 【实验预备知识点】 Wo

qq_43717119的博客 1万+

Word处理控件Aspose.Words功能演示:在 Python 中自动合并 MS Word 邮件

使用邮件合并,您可以创建模板并使用数据填充它。为了自动化 MS Word 邮件合并,我们将使用Aspose.Words for Python。为了自动化邮件合并,本文介绍了如何创建邮件合并模板并用 Python 中的数据填充它们。Aspose.Words for Python 提供了广泛的其他功能,您可以使用 文档进行探索。欢迎私信我获取帮助~邮件合并模板包含使用数据源中的值填充的合并字段。为了创建邮件合并模板,您可以使用 MS Word。现在,当您创建了邮件合并模板后,就可以为其字段填充值了。

励志做最业余的专业博主,控件产品可以私我~ 826

word打开文档很久很慢_word文档 excel文档打开速度比较慢怎么办

word文档/excel文档打开慢解决方法1,检查磁盘是否无空间2,把杀毒软件里的office文档监控去掉。3,文档损坏可在Word中选择“工具”菜单下的“选项”菜单项,选择“常规”选项卡,选中“打开时确认转换”复选框。确定,完成。选择“文件”菜单中的“打开”菜单项。在“文件类型”下拉菜单中选择“从任意文件中恢复文本(*.*)”选项,然后选中受损文档打开。4,删除C:\Documents and ...

weixin_39902598的博客 530

从免费到专业:如何用 Aspose.Words 高效生成企业级 Word 文档

Aspose.Words 是 Aspose 公司推出的一款专门用于 Word 文档处理的 .NET/Java 库,同时也支持 Python、C++、Node.js、Go 等语言绑定。而 Aspose.Words 完全独立运行,不依赖 Office 或第三方软件,可以直接部署在 Windows、Linux、macOS 服务器环境中,非常适合云端和跨平台场景。• 支持 DOC、DOCX、DOT、DOTX、DOTM、RTF、ODT、OTT 等输入输出格式;几年前,我在一个企业项目里需要批量生成 Word 合同。

dotNET跨平台 254

JAVA生成WORD文件的方案

Web平台下JAVA生成WORD文件的方法目前有以下三种:一、 是jacob。 但是局限于windows平台,往往许多JAVA程序运行于其他操作系统,在此不讨论该方案。二、 是POI。 但是它的excel处理还凑合, word模块还局限于读取word的文本内容,写word文件的功能就更弱;还有一个要命的地方,处理doc格式和处理docx格式的类几乎完全不同,要分开针对不同的格...

weixin_34050427的博客 127
上一篇: 很好的JS验证数据
下一篇: Web Service
hongyanjava
博客等级 码龄17年 12粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值