Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共8 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:excel模板导出数据多,程序闪退

1楼
hellfirellb 发表于:2024/6/20 16:07:00
 book.AddDataTable("客户对账",sqlstr) 
    
book.AddDataTable("客户对账明细",dt)  
    
    book.AddRelation("客户对账","对账编号","客户对账明细","对账编号")
    Book.Build() 

明细表大概2千多条数据,生成过程中程序闪退,是数据量多的问题么?有什么解决办法么?

2楼
有点蓝 发表于:2024/6/20 16:19:00
2千多条不算多,一般闪退是出现了死循环
3楼
hellfirellb 发表于:2024/6/20 16:32:00
我觉得也不应该,但我是用模板导出,数据都加载了,就是build过程闪退,就是上面的主要代码,怎么会死循环呢
4楼
有点蓝 发表于:2024/6/20 16:34:00
完整代码发上来看看
5楼
hellfirellb 发表于:2024/6/20 16:49:00
Dim dt As DataTable
dt = ExecSQLGetDataTable(sql1,"V16Data")
'MessageBox.show(dt.DataRows.Count)

Dim Book As New XLS.Book(fp)
Dim dlg As New SaveFileDialog '定义一个新的SaveFileDialog 
dlg.Filter= "Excel文件|*.xls" '设置筛选器
dlg.FileName=tr("客户简称") & tr("对账年份") & tr("对账月份") & "对账表.xlsx"
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim fl As String = dlg.FileName

    book.AddDataTable("客户对账","V16Data",sqlstr)
    
    book.AddDataTable("客户对账明细",dt)  
    
    book.AddRelation("客户对账","对账编号","客户对账明细","对账编号") '建立关联
'MessageBox.show("start build")
    Book.Build() '生成细节区
    Book.Save(fl) '保存工作簿
'MessageBox.Show("end")
    Dim Proc As New Process '打开工作簿
    Proc.File = fl
    Proc.Start()
End If

测试了800多条数据正常,很奇怪(有sql语句的地方发不出来,改成变量了)。
6楼
有点蓝 发表于:2024/6/20 17:14:00
这样试试

Dim Book As New XLS.Book(fp)
Dim dlg As New SaveFileDialog '定义一个新的SaveFileDialog 
dlg.Filter= "Excel文件|*.xls" '设置筛选器
dlg.FileName=tr("客户简称") & tr("对账年份") & tr("对账月份") & "对账表.xlsx"
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim fl As String = dlg.FileName

    book.AddDataTable("客户对账","V16Data",sqlstr)
    book.AddDataTable("客户对账明细","V16Data",sql1)  
    
    book.AddRelation("客户对账","对账编号","客户对账明细","对账编号") '建立关联
'MessageBox.show("start build")
    Book.Build() '生成细节区
    Book.Save(fl) '保存工作簿
'MessageBox.Show("end")
    Dim Proc As New Process '打开工作簿
    Proc.File = fl
    Proc.Start()
End If
7楼
hellfirellb 发表于:2024/6/23 19:21:00
蓝老大,按你那个代码不行,其实原来就是你这种写法,不行才换的,还是闪退。还麻烦您看一下怎么解决比较好
8楼
hellfirellb 发表于:2024/6/23 20:16:00
解决了,蓝老大,客户做的模板下面有多余的行,有异常。晕死
共8 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03320 s, 2 queries.