C# 在根据窗体中的表格数据生成word文档时出错

出错内容为:

 

有关调用实时(JIT)调试而不是此对话框的详细信息,
请参见此消息的结尾。

************** 异常文本 **************
System.BadImageFormatException: 未能加载文件或程序集“Interop.Word, Version=8.1.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。试图加载格式不正确的程序。
文件名:“Interop.Word, Version=8.1.0.0, Culture=neutral, PublicKeyToken=null”
   在 PWMS.PerForm.F_ManFile.but_Table_Click(Object sender, EventArgs e)
   在 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   在 System.Windows.Forms.Control.WndProc(Message& m)
   在 System.Windows.Forms.ButtonBase.WndProc(Message& m)
   在 System.Windows.Forms.Button.WndProc(Message& m)
   在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

警告: 程序集绑定日志记录被关闭。
要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)设置为 1。
注意: 会有一些与程序集绑定失败日志记录关联的性能损失。
要关闭此功能,请移除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。

错误内容

刚开始以为是所引用程序库文件Interop.Word的版本不对,结果折腾了半天还是错的。最后根据文章[1],才得知是32版本的dll当被生成Any CPU类型的可执行文件时存在极大地不稳定性,当64位的系统运行这种调用32dll的代码段时,就会发生如上图所示的错误。血的教训啊,浪费了1个多小时。希望以后不会犯这样的低级错误。

参考代码调用下载地址: Download Link备用下载地址

参考文章

1. system.badimageformatexception 未能加载文件或程序集

时间: 2024-10-04 10:18:19

C# 在根据窗体中的表格数据生成word文档时出错的相关文章

C#简单实现动态数据生成Word文档并保存

今天正好有人问我,怎么生成一个报表式的Word文档. 就是文字的样式和位置相对固定不变,只是里面的内容从数据中读取. 我觉得类似这种的一般用第三方报表来做比较简便.但既然要求了Word,只好硬着头皮来. 网上的方法大多数都是从一个GridView或表中获得数据后向Word中添加一个表格. (图1) 我们使用Word模板来实现,方法如下: 1.首先需要向工程中的“引用”加入Word类库的引用(图2).我是Office 2003.其他版本可能略有不同.在COM里面 (图2) 2.用Word设计一个模

动态数据生成Word文档

最近做项目,让做一个将页面上的数据按照固定的格式保存到一个Word中,记得当初在考试系统的时候,我们的那个系统也实现了这个功能,那个时候知识觉得,哇喔,好神奇啊,那个一个杂乱无章的页面,都可以让他显示的很有层次,如果像Excel中那个,行是行,列是列的,还好控制一点.好难,他们好牛! 可以今天轮到自己做这个东西了,哎,这个后悔,当初多问一句,为什么,这个是怎么做的,稍微说一句,今天好赖看看不就可以了.出来混早晚是要还的!弄的今天做的时候,都不知道如何查资料.最后只能从"Word"查起.

用Aspose.Words for .NET动态生成word文档中的数据表格

1.概述 最近项目中有一个这样的需求:导出word 文档,要求这个文档的格式不是固定的,用户可以随便的调整,导出内容中的数据表格列是动态的,例如要求导出姓名和性别,你就要导出这两列的数据,而且这个文档不是导出来之后再调整而是导出来后已经是调整过了的.看到这里,您也许马上想到用模板导出!而且.NET中自带有这个组件:Microsoft.Office.Interop.Word,暂且可以满足需求吧.但这个组件也是有局限性的,例如客户端必须装 office组件,而且编码复杂度高.最麻烦的需求是后面那个-

从数据库中取出数据,使用freemarker生成word文档

这个星期做数据字典功能,有一项任务就是将数据库中的每个表的字段导出,生成word文档,在综合比较网上各种技术之后,参照csdn上骆豪的博客完成了任务. 骆昊的链接:http://blog.csdn.net/jackfrued/article/details/39449021 首先打开word文档,建立自己所需要的模板,然后将word保存为XML的格式,这里可能出现的一个问题就是需要填入的内容放上${}占位符的时候可能会出现字符分离的情况,所以建议先将需要用${}占位符的地方用中文写在word里然

Swing表格数据转xls文档

花了一下午的时间终于实现了Swing表格数据转xls文档与读取xls文档数据. 接下来上代码 1.弹出文件,目录选择框 exportBtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String name = "数据.xls"; String defaultPath = "D://temp"; //构造文件保存对话框

POI加dom4j将数据库的数据按一定格式生成word文档

一:需求:将从数据库查处来的数据,生成word文档,并有固定的格式.(dom4j的jar包+poi的jar包) 二:解决:(1)先建立固定格式的word文档(2007版本以上),另存成为xml文件,作为模板.(修改xml节点,添加属性,用于标示要填固定数据的节点) (2)dom4j解析模板xml文件,将文件读入内存,并把数据库数据写入内存的xml模型中 (3)利用poi将内存中的含有数据库内容的xml模型转换成word内存模型,利用输出流输出word文档 三:DEMO [1]模板的word文档

C#动态生成Word文档并填充数据

C#也能动态生成Word文档并填充数据 http://www.cnblogs.com/qyfan82/archive/2007/09/14/893293.html 引用http://blog.csdn.net/mengyao/archive/2007/09/13/1784079.aspx using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.

怎样可以把excel表格转换成word文档

在处理一些文档时,有时会遇到需要将excel表格内容全部放到word文档中,通常只是需要excel的部分数据内容时,直接通过复制,然后粘贴到word文档中即可,但是如果需要将excel表格所以内容都转换成word,那么复制操作就比较麻烦了,那么怎样可以快速将excel表格转换成word文档呢? 通过文档的转换工具,可以将excel格式直接转为word文档,而且是将excel工作簿中的所有表格同时进行转换. 首先在转换器中选择文件转word的转换类型,通过这个选项可以把我们常见的excel,ppt

利用POI操作不同版本word文档中的图片以及创建word文档

我们都知道要想利用java对office操作最常用的技术就应该是POI了,在这里本人就不多说究竟POI是什么和怎么用了.先说本人遇到的问题,不同于利用POI去向word文档以及excel文档去写入数据和向外导出数据并且保存到数据库中这些类似的操作,由于业务上的需要需要利用POI去读取word中的图片,并且去把图片去保存为一个file文件.查了Apache公司提供的api帮助文档,再网友的一些线索,本人也总结了几中对不同word版本(.doc或者是.docx结尾)对于文件中所含图片的操作方式,希望