Rss & SiteMap

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

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

标题:[求助]Excel报表容量问题

1楼
易服 发表于:2010/12/16 11:33:00

有一Excel报表每一记录占一页,当记录数超过1370行时,报表不正常甚至导致主机报警死机。

不正常


此主题相关图片如下:2010-12-15 10-32-12.png
按此在新窗口浏览图片

正常时预览

此主题相关图片如下:2010-12-15 10-58-19.png
按此在新窗口浏览图片

有什么解决方法?
With Tables("申请表")
    .Select(0 ,0, .Rows.Count - 1, .Cols.Count - 1)
End With
If Forms("选项").Controls("ComboBox1").Value >"" Andalso Forms("选项").Controls("ComboBox2").Value >"" Then
    Dim Book As New XLS.Book(ProjectPath & "Attachments\登记表.xls") '打开模板
    Book.Build() '生成细节区
    Book.Save("d:\My Documents\Reports\登记表.xls") '保存工作簿
    Dim Proc As New Process '打开工作簿
    Proc.File ="d:\My Documents\Reports\登记表.xls"
    Proc.Start()
End If

2楼
狐狸爸爸 发表于:2010/12/16 11:49:00

用Excel 2007看看

3楼
mr725 发表于:2010/12/16 13:57:00
可能要用循环来打印或预览吧···· 因为“Excel报表每一记录占一页”啊~~
4楼
易服 发表于:2010/12/16 14:20:00
以下是引用mr725在2010-12-16 13:57:00的发言:
可能要用循环来打印或预览吧···· 因为“Excel报表每一记录占一页”啊~~

怎么用循环来打印或预览?

我想个笨办法,先判断行数,不会写代码

If Forms("选项").Controls("ComboBox1").Value >"" AndAlso Forms("选项").Controls("ComboBox2").Value >"" Then
    If ("_Identify") < 1370 Then
        With Tables("申请表")
            .Select(0 ,0, .Rows.Count - 1, .Cols.Count - 1)
        End With
        Dim Book As New XLS.Book(ProjectPath & "Attachments\核实表.xls") '打开模板
        Book.Build() '生成细节区
        Book.Save("d:\My Documents\Reports\核实表.xls") '保存工作簿
        Dim Proc As New Process '打开工作簿
        Proc.File ="d:\My Documents\Reports\核实表.xls"
        Proc.Start()
    End If
Else
    MessageBox.Show("手工选定行数","提示")
End If

5楼
狐狸爸爸 发表于:2010/12/16 14:37:00
For i as integer = 0 to tables("xxx").Rows.Count -1 Step 1370
     Tables("xxx").Select(i, 0, i + 1369, cols.count -1)
      Dim Book As New XLS.Book(ProjectPath & "Attachments\核实表.xls") '打开模板
      Book.Build() '生成细节区
      Book.Save("d:\My Documents\Reports\核实表.xls") '保存工作簿
      Dim Proc As New Process '打开工作簿
      Proc.File ="d:\My Documents\Reports\核实表.xls"
      Proc.Verb = "Print" '指定动作
      Proc.Start()
Next
6楼
易服 发表于:2010/12/16 15:23:00
以下是引用狐狸爸爸在2010-12-16 14:37:00的发言:


图片点击可在新窗口打开查看此主题相关图片如下:2010-12-16 15-21-03.png
图片点击可在新窗口打开查看
7楼
狐狸爸爸 发表于:2010/12/16 15:25:00

呵呵,你根据错误提示,应该能够找出这句代码的问题的。

这次我不说,你自己找。

 

图片点击可在新窗口打开查看

8楼
mr725 发表于:2010/12/16 15:28:00

Tables("xxx").Select(i, 0, i + 1369, .cols.count -1)   红点没加上啊

 

 

[此贴子已经被作者于2010-12-16 15:40:00编辑过]
9楼
易服 发表于:2010/12/16 15:34:00
以下是引用mr725在2010-12-16 15:28:00的发言:
Tables("xxx").Select(i, 0, i + 1369, .cols.count -1)   红点没加上啊

加上也不行的

10楼
mr725 发表于:2010/12/16 15:40:00


For i as integer = 0 to tables("xxx").Rows.Count -1 Step 1370   这个是要每隔1370行打印一行吗?

 

 


For i as integer = 0 to 3   先试一试这个吧。只打印四行的。。。

[此贴子已经被作者于2010-12-16 15:41:38编辑过]
共20 条记录, 每页显示 10 条, 页签: [1] [2]

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

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