datagrid在office2K中工作正常,但换成office2003后有时只能显示一个大叉,有时直接闪以下就退出了,苦恼!有人遇到过这样的问题吗?

解决方案 »

  1.   

    就是在vs2003中创建了一个供Excel使用的共享外接程序也就是Excel的com插件,这个插件在Excel中生成一个工具栏可以调用C#写的winForm,其中一个Form上有datagrid控件,Form show之后Datagrid却绘制失败,显示是一个大叉,里边的数据是正确的,各位给点意见!
    下边的堆栈信息可能有点帮助:
    ************** 异常文本 **************
    System.ArgumentException: 使用了无效参数。
       at System.Drawing.Graphics.CheckErrorStatus(Int32 status)
       at System.Drawing.Graphics.FillRectangle(Brush brush, Int32 x, Int32 y, Int32 width, Int32 height)
       at System.Drawing.Graphics.FillRectangle(Brush brush, Rectangle rect)
       at System.Windows.Forms.DataGridParentRows.PaintBorder(Graphics g, Rectangle bounds)
       at System.Windows.Forms.DataGridParentRows.Paint(Graphics g, Rectangle visualbounds, Boolean alignRight)
       at System.Windows.Forms.DataGrid.OnPaint(PaintEventArgs pe)
       at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer, Boolean disposeEventArgs)
       at System.Windows.Forms.Control.WmPaint(Message& m)
       at System.Windows.Forms.Control.WndProc(Message& m)
       at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
       at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
       at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    ************** 已加载的程序集 **************
    mscorlib
        程序集版本: 1.0.5000.0
        Win32 版本: 1.1.4322.2032
        基本代码: file:///c:/winnt/microsoft.net/framework/v1.1.4322/mscorlib.dll
    ----------------------------------------
    mscorlib.resources
        程序集版本: 1.0.5000.0
        Win32 版本: 1.1.4322.573
        基本代码: file:///c:/winnt/assembly/gac/mscorlib.resources/1.0.5000.0_zh-chs_b77a5c561934e089/mscorlib.resources.dll
    ----------------------------------------
    WRDomainSetup
        程序集版本: 7.0.5000.0
        Win32 版本: 11.0.5612
        基本代码: file:///D:/Program%20Files/Microsoft%20Office/OFFICE11/EXCEL.EXE
    ----------------------------------------
    System
        程序集版本: 1.0.5000.0
        Win32 版本: 1.1.4322.2032
        基本代码: file:///c:/winnt/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
    ----------------------------------------
    System.Drawing
        程序集版本: 1.0.5000.0
        Win32 版本: 1.1.4322.2032
        基本代码: file:///c:/winnt/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
    ----------------------------------------
    System.DirectoryServices
        程序集版本: 1.0.5000.0
        Win32 版本: 1.1.4322.2032
        基本代码: file:///c:/winnt/assembly/gac/system.directoryservices/1.0.5000.0__b03f5f7f11d50a3a/system.directoryservices.dll
    ----------------------------------------
    System.Messaging
        程序集版本: 1.0.5000.0
        Win32 版本: 1.1.4322.2032
        基本代码: file:///c:/winnt/assembly/gac/system.messaging/1.0.5000.0__b03f5f7f11d50a3a/system.messaging.dll
    ----------------------------------------
    System.ServiceProcess
        程序集版本: 1.0.5000.0
        Win32 版本: 1.1.4322.2032
        基本代码: file:///c:/winnt/assembly/gac/system.serviceprocess/1.0.5000.0__b03f5f7f11d50a3a/system.serviceprocess.dll
    ----------------------------------------
    System.Data
        程序集版本: 1.0.5000.0
        Win32 版本: 1.1.4322.2032
        基本代码: file:///c:/winnt/assembly/gac/system.data/1.0.5000.0__b77a5c561934e089/system.data.dll
    ----------------------------------------
    Hetong
        程序集版本: 1.0.2080.16935
        Win32 版本: 1.0.2080.16935
        基本代码: file:///C:/Program%20Files/EasyV/益成加工合同/服装来进料加工合同_bin/Hetong.DLL
    ----------------------------------------
    Microsoft.Office.Interop.Excel
        程序集版本: 11.0.0.0
        Win32 版本: 11.0.5530
        基本代码: file:///c:/winnt/assembly/gac/microsoft.office.interop.excel/11.0.0.0__71e9bce111e9429c/microsoft.office.interop.excel.dll
    ----------------------------------------
    office
        程序集版本: 11.0.0.0
        Win32 版本: 11.0.5530
        基本代码: file:///c:/winnt/assembly/gac/office/11.0.0.0__71e9bce111e9429c/office.dll
    ----------------------------------------
    System.Windows.Forms
        程序集版本: 1.0.5000.0
        Win32 版本: 1.1.4322.2032
        基本代码: file:///c:/winnt/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
    ----------------------------------------
    Microsoft.VisualBasic
        程序集版本: 7.0.5000.0
        Win32 版本: 7.10.6001.4
        基本代码: file:///c:/winnt/assembly/gac/microsoft.visualbasic/7.0.5000.0__b03f5f7f11d50a3a/microsoft.visualbasic.dll
    ----------------------------------------
    CustomMarshalers
        程序集版本: 1.0.5000.0
        Win32 版本: 1.1.4322.573
        基本代码: file:///c:/winnt/assembly/gac/custommarshalers/1.0.5000.0__b03f5f7f11d50a3a/custommarshalers.dll
    ----------------------------------------
    Accessibility
        程序集版本: 1.0.5000.0
        Win32 版本: 1.1.4322.573
        基本代码: file:///c:/winnt/assembly/gac/accessibility/1.0.5000.0__b03f5f7f11d50a3a/accessibility.dll
    ----------------------------------------
    System.Xml
        程序集版本: 1.0.5000.0
        Win32 版本: 1.1.4322.2032
        基本代码: file:///c:/winnt/assembly/gac/system.xml/1.0.5000.0__b77a5c561934e089/system.xml.dll
    ----------------------------------------
    System.Drawing.resources
        程序集版本: 1.0.5000.0
        Win32 版本: 1.1.4322.573
        基本代码: file:///c:/winnt/assembly/gac/system.drawing.resources/1.0.5000.0_zh-chs_b03f5f7f11d50a3a/system.drawing.resources.dll
    ----------------------------------------
    System.Windows.Forms.resources
        程序集版本: 1.0.5000.0
        Win32 版本: 1.1.4322.573
        基本代码: file:///c:/winnt/assembly/gac/system.windows.forms.resources/1.0.5000.0_zh-chs_b77a5c561934e089/system.windows.forms.resources.dll
    ----------------------------------------
      

  2.   

    楼主编译的程序只要是Excel2K的excel.dll就可以了,它通用于Excel2K/XP/2003,不要换成2003的dll。我在作MIS金质打印通Excel功能时就发现只是插入行和列时Excel2K与2003的区别,只要避开这一点就可以了。
      

  3.   


    ***GoldPrinter.ExcelExpert(MIS金质打印通之Excel专版)***
    1、如何将各版本Excel(COM类型库) 转换生成.Net公共语言运行库程序集如Interop.Excel.dll
    2、如何引用Excel库或已生成的程序集
    3、创建Excel实例
    4、打开Excel工作薄工作表和模板
    5、增、删、改、插入、定位、重命名工作表
    6、获取活动工作表指定范围单元格及带区
    7、读、写单元格内容
    8、向带区中写内容9、单元格合并
    10、字体及颜色
    11、边框及网格线
    12、保存、另存
    13、打印、预览
    14、彻底关闭Excel进程
    15、综合应用,通打天下报表
    ...需要的朋友:
    Email:[email protected]  QQ:150439795
    更多源码:www.webmis.com.cn
      

  4.   

    我试了引用中只使用Excel9,加载程序集如下:
    Interop.Office
        程序集版本: 2.1.0.0
        Win32 版本: 2.1.0.0
        基本代码: file:///E:/tmp/MyAddin4/MyAddin4/bin/Debug/Interop.Office.DLL
    ----------------------------------------
    Interop.Excel
        程序集版本: 1.3.0.0
        Win32 版本: 1.3.0.0
        基本代码: file:///E:/tmp/MyAddin4/MyAddin4/bin/Debug/Interop.Excel.DLL
    但同时office11和excel11的程序集也加载了。
    datagrid还是老样子?还有其它办法吗,难道DataGrid在office2003的PIA中就无法使用吗?