有哪位高手做过这方面的题目,能把例子发给我吗?让我参考一下,谢谢!!!

解决方案 »

  1.   

    ---- EXCEL 97是一个非常优秀的创建报表的工具。它提供的单元格任意合并、拆分和绘图功能基本上能够满足设计所有复杂报表的需求。它对任意一个单元格的格式随意控制,更为随心所欲地设计报表提供了强大的支持。  ---- 根据用户提供的报表,我们可以很快在EXCEL里生成模版文件。所谓生成模版文件只是为了满足用户多方面的需求而设计的。也是为了适合报表以后的更改而做的一点预备工作。例如用户需要打印几百张职工履历表,但其格式都是一致的,并且随着时间和实际情况的变化,表格格式有可能需要改变,我们设计一个模版文件显然可以“以不变应万变”了。  ---- 生成工作表时我们应当记录下要填充内容的单元格编号和该单元格内要填充的数据字段。这样形成一个表格,在写程序时一目了然。如:  
      Cell(4,2) 职工姓名 Cell(6,6) 毕业学校  
    Cell(4,4) 职工性别 Cell(6,7) 所学专业  
    Cell(4,6) 职工民族 Cell(6,9) 工作时间  
    (表一)  ---- 在程序里我们当然不要对模版文件进行操作了,我们只需要对模版文件的一个拷贝进行操作就行(这也是我们设计模版文件的一个目的和好处)。如下面的例子:  
      Dim strSource, strDestination As String  
    strSource = App.Path & "\Excels\RegisterFee.xls"   
    ‘RegisterFee.xls就是一个模版文件  
    strDestination = App.Path & "\Excels\Temp.xls"   
    FileCopy strSource, strDestination  
    ‘将模版文件拷贝到一个临时文件  ---- 三. 生成工作表内容  ---- 有了上述两步工作的铺垫,我们下面接着就只要根据(表一)的格式给各单元格赋值了。如:  
       datPrimaryRS.Recordset.MoveFirst  
    ‘datPrimaryRS为Data控件  
      If IsNull(datPrimaryRS.Recordset!姓名) = False Then  
      xlSheet.Cells(4, 2) = datPrimaryRS.Recordset!姓名  
      End If  
      If IsNull(datPrimaryRS.Recordset!性别) = False Then  
      xlSheet.Cells(4, 4) = datPrimaryRS.Recordset!性别  
      End If  
      If IsNull(datPrimaryRS.Recordset!民族) = False Then  
      xlSheet.Cells(4, 6) = datPrimaryRS.Recordset!民族  
      End If  
    ………………  ---- 四. 打印报表  ---- 生成了工作表后,就可以对EXCEL发出打印指令了。  ---- 注意在执行打印操作之前应该对EXCEL临时文件执行一次保存操作,以免在退出应用程序后EXCEL还提示用户是否保存已修改的文件,让用户觉得莫名其妙。如下语句:  
      xlBook.Save ‘保存文件  
      xlSheet.PrintOut ‘执行打印  
      xlApp.Quit ‘退出EXCEL  ---- 至此读者应该看到,我们设计的报表打印是通过EXCEL程序来后台实现的。用户根本看不到具体过程,他们只看到一张张漂亮的报表轻易地被打
      

  2.   

    我这个例子也不是很好呀。也是每一个报表做一个模板呀。要是这样的话。还不如做一个打印通用模块。只要你知道他的字段数。和在GRID中的ROWS数/就可以做出一个很漂亮的EXCEL。我这有做好的模块可以代码太多了。你要是想要的话,加我。3651328。只要传几个参数就可以做出来。