以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]高速导出到excel时出错信息  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=9626)

--  作者:ddlzq
--  发布时间:2011/4/28 10:18:00
--  [求助]高速导出到excel时出错信息
有关调用实时(JIT)调试而不是此对话框的详细信息,
请参见此消息的结尾。

************** 异常文本 **************
System.NullReferenceException: 未将对象引用设置到对象的实例。
   在 Foxtable.Table.OO1lll0O0OOO101l(XLSheet OlllO, Int32 OOlOOl01, Int32 O01001, Int32 OOl0O11l, Int32 O01O1l)
   在 Foxtable.Table.SaveExcel(String Ol0lOO1l, String OOO0Oll10, SaveExcelFlags O0Ol0)
   在 Foxtable.frmSaveAsExcel.O0ll1010O011O(Object OlO110, EventArgs O)
   在 System.Windows.Forms.Control.OnClick(EventArgs e)
   在 System.Windows.Forms.Button.OnClick(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.Control.ControlNativeWindow.OnMessage(Message& m)
   在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** JIT 调试 **************
要启用实时(JIT)调试,
该应用程序或计算机的 .config 文件(machine.config)的 system.windows.forms 节中必须设置
jitDebugging 值。
编译应用程序时还必须启用
调试。

例如: 

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

启用 JIT 调试后,任何无法处理的异常
都将被发送到在此计算机上注册的 JIT 调试器,
而不是由此对话框处理

------狐爸,我要导的表,只有表头时,不会出错,但有数据,就会出错,我还发现,如果列的属性有
列表项目中的 自定义... 可以有窗口式输入时,有回车输入信息时,导出也会出错,这个如何能避免呢?

--  作者:狐狸爸爸
--  发布时间:2011/4/28 10:26:00
--  

传表上来,我来测试一下。

[此贴子已经被作者于2011-4-28 10:26:11编辑过]

--  作者:ddlzq
--  发布时间:2011/4/28 10:30:00
--  
这个是外部数据源表 我想办法做个本地的看出不出
--  作者:ddlzq
--  发布时间:2011/4/28 12:02:00
--  
狐爸,我试过,使用杂项-高速导出 自选文件类型 为excel格式居然能导出不出错
而选择 杂项 导出里的 excel文件就出错 
两个文件区别是表头一个是原表头格式显示,一个是类似数据库字段名方式显示的
是不是合并表头原因呢?
由于这个表外部表,做出来太麻烦了,我就没做,不行就先告诉用户这么用吧
[此贴子已经被作者于2011-4-28 12:04:30编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/4/28 12:13:00
--  

收到,我看看。

还是建议做个例子,新建一个项目,添加外部数据源和外部表,重定向为内部表,输入两行测试数据,一分钟可以搞定的。


--  作者:ddlzq
--  发布时间:2011/4/28 12:16:00
--  
问题好像我测试出来了,因为表是我通过fill生成的表,有合并表头时,有一列为了生成表达式合并单号,在fill数据后,写了这段代码
DataTables("物资申请表").DataCols.Add("申请编号1", Gettype(String),"160" , "\'物资申请-\' + SubString(\'0000000000\', 1, 10 - Len(Convert([_Identify],\'System.String\'))) + Convert([_Identify], \'System.String\')","申请编号")
申请编号1是列名 申请编号 最后面是显示列名,而这个表有合并表头,fill执行后,显示这样了

图片点击可在新窗口打开查看此主题相关图片如下:表头.bmp
图片点击可在新窗口打开查看
导出时就会出错,我手工改了下显示名,显示这样

图片点击可在新窗口打开查看此主题相关图片如下:表头1.bmp
图片点击可在新窗口打开查看
导出时就不再出错误提示了.....
狐爸帮看看是不是这个原因


--  作者:狐狸爸爸
--  发布时间:2011/4/28 12:19:00
--  
收到,谢谢,我检查一下看看看