要求不高的话,用tbprint,网上搜一下,还好用的。找不到的花,再找我。
解决方案 »
- winsock发送数据收不到,求教
- VB程序发邮件,如何设置邮件正文的字体颜色???
- 巨难的抓图问题,非高手不能解也!!!
- wmp的高手或多媒体的高手请进.何如改变wmp里的图像的长宽.100分求.......急
- 无法插入空行.行必须至少有一个列值集
- 我想做一个MDI窗体,使它像资源管理器一样,但是,右边显示的是弹出的窗口,而不是listview
- 各位大哥!,凡是通过自学(计算机专业)的请进!有分相送!!
- 我有个想法,请大家关注一下!
- 请教SQL 查询中关于 LIKE 子句的故障?
- vb的如何调用动态链接库
- 这个报表怎做?我要报表是按日期分组打印?
- 请问用execle出报表,如何分页,并保留原来的文件格式,也就是将所有内容打印到多张一样的表格里
给你一个用EXCEL打印的例子:
Sub print_click(MSFlexGrid1 As MSFlexGrid)
On Error GoTo ErrHandler
Dim EXCELApp As Excel.Application
Dim EXCELWorkBook As Excel.Workbook
Dim xlSheet As Excel.WorksheetDim rows, cols As Integer
Dim Irow, hCol, Icol As Integer
Dim New_Col As Boolean
If MSFlexGrid1 .rows <= 1 Then
MsgBox "还没有数据记录", vbInformation, App.Title
Exit Sub
End If
Set EXCELApp = CreateObject("Excel.application")
Set EXCELWorkBook = EXCELApp.Workbooks.Add
Set xlSheet = EXCELWorkBook.Sheets(1)
Dim New_Column As Boolean
With MSFlexGrid1
rows = .rows
cols = .cols
Irow = 0
Icol = 1
For hCol = 0 To cols - 1
For Irow = 1 To rows
EXCELApp.Cells(Irow + 1, Icol).Value = .TextMatrix(Irow - 1, hCol)
Next Irow
Icol = Icol + 1
Next hCol
End With
'xlsheet.Range(xlsheet.Cells(2, 0), xlsheet.Cells(rows, cols - 1)).Borders.LineStyle = xlContinuous
EXCELApp.rows(2).Font.Bold = True
EXCELApp.Cells.Select
EXCELApp.Columns.AutoFit
EXCELApp.Cells(1, 1).Select
EXCELApp.Application.Visible = True
'EXCELApp.Sheets.PrintPreview
Set EXCELWorkBook = Nothing
Set EXCELApp = Nothing
MSFlexGrid1.SetFocus
' MsgBox "Data has been successfully copied to Excel. ", vbInformation, "Success"
Exit Sub
ErrHandler:
MsgBox "报表错误", vbInformation, "报表错误"
End Sub
打印的数据源支持:
ms adodb.recordset 保存的xml
ms sql2000 查询得到的xml
ms adodb.recordset
数组
datagrid
mshflexgrid、msflexgrid(如果选中多行,只打印选中行,否则打印全部)
可用于:cs、dhtml、iis服务器端