关于ccess数据在datagrid界面上导出到excel里,可在excel里排版打印的问题
我做了一个文档管理系统,实时把文件数据添加存入了access中,界面上datagrid用来显示所有信access中的信息,除了别的已写好的功能外,现在想添加一个“保存与打印”按钮,功能是将datagrid的数据(也就是mdb中的一个表内容)存到excel中,经过在excel里编辑,排版等,可以在excel中打印。另外,我的界面中也有一个"文件查询"功能按钮,查询出来的数据是在同一个datagrid里显示的,能不能实现只把在经过查询出来显示在datagrid里的内容输出excel里,而不需把整个数据表中的内容都输到excel中呢?
能实现这点就更好了,可是我做不出来,在网上找了好久都找不到相应例子,或是自已看不懂吧, 不知哪位有没有这类的代码不?
可以提供参考下?或是直接适用更好,呵呵,谢谢哈。 --------------------编程问答-------------------- 附上几段程序,不过不是全部哈,仅供参考,对解决问题帮助可能不是很大。
==============================
Private Sub Form_Load()
On Error GoTo Err23:
Dim db As ADODB.Connection
Set db = New ADODB.Connection
db.CursorLocation = adUseClient
db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & fullpath("ziliao.lbl")
Set adoPrimaryRS = New Recordset
adoPrimaryRS.Open "select 自动,编号,文件名称,数量,类型,入库时间,编制单位,编制时间,存放位置,备注 from wzzl_v order by 自动 desc", db, adOpenStatic, adLockOptimistic
Set DataGrid1.DataSource = adoPrimaryRS
format_table
For i = 0 To 7
Set txt1(i).DataSource = adoPrimaryRS
Next i
Set Combo1(0).DataSource = adoPrimaryRS
'Set DTPicker1.DataSource = adoPrimaryRS
format_txt
If adoPrimaryRS.RecordCount = 0 Then
For intAnswer = 1 To 4
cmddep(intAnswer).Enabled = False
Next
End If
Exit Sub
Err23:
MsgBox Err.Description, vbCritical, "错误"
End Sub
=========================================
Private Sub format_table()
DataGrid1.Columns(0).Width = 0
DataGrid1.Columns(1).Width = 1200
DataGrid1.Columns(2).Width = 3400
DataGrid1.Columns(3).Width = 480
DataGrid1.Columns(4).Width = 2700
DataGrid1.Columns(5).Width = 1000
DataGrid1.Columns(6).Width = 1400
DataGrid1.Columns(7).Width = 1000
DataGrid1.Columns(8).Width = 900
DataGrid1.Columns(9).Width = 1500
DataGrid1.Columns(0).Caption = "自动"
DataGrid1.Columns(1).Caption = " 编号"
DataGrid1.Columns(2).Caption = " 文件名称"
DataGrid1.Columns(3).Caption = "数量"
DataGrid1.Columns(4).Caption = " 类 型"
DataGrid1.Columns(5).Caption = " 入库时间"
DataGrid1.Columns(6).Caption = " 编制单位"
DataGrid1.Columns(7).Caption = " 编制时间"
DataGrid1.Columns(8).Caption = "存放位置"
DataGrid1.Columns(9).Caption = " 备注"
For i = 0 To 9
DataGrid1.Columns(i).Alignment = dbgCenter
Next i
DataGrid1.Columns(2).Alignment = dbgLeft
DataGrid1.Columns(4).Alignment = dbgLeft
DataGrid1.AllowRowSizing = False
DataGrid1.AllowUpdate = False
End Sub
补充:VB , 数据库(包含打印,安装,报表)