◆数据导入到EXCEL下处理的问题◆

cwm545 2004-10-19 10:05:28
是这样的,数据导入到EXCEL下这样显示:
工资表
工号 姓名 工资
001 陈一 100
002 陈二 200
003 陈三 300
- - -
- - -
- - -

数据不知共多少页,我是按照30条记录跳页的。现在有个问题:
就是要更改成如下所示的格式,即在每页开头处,加个统计当页的工资。

工资表 当页共:
工号 姓名 工资
001 陈一 100
002 陈二 200
003 陈三 300
- - -
- - -
- - -

谢谢,在线等待。。。
...全文
224 点赞 收藏 16
写回复
16 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
windlin1314 2004-10-25
我觉得:(1)选用ADODC,或用DataEnvironment来查询出记录的总数,再来计算。这样不在存计算EXCEL中的行和列的问题。
(2)做完了后,可在最后做个循环,在指定行,列处添加。行的指定需要你自已计算。
回复
cwm545 2004-10-25
只能UP下。。
回复
cwm545 2004-10-25
关注。。
回复
cwm545 2004-10-22
再up下。。
回复
cwm545 2004-10-21
就是想实现,如在33条跳行,在34的单元格就出现个“当页统计共:()元”的统计。
那位高手改下程序。。
回复
cwm545 2004-10-21
自己顶下。。
回复
关注
回复
GGL123 2004-10-20
up
回复
cwm545 2004-10-20
我一加上就出错,在跳页时统计就跟着没了。
那位帮顶下。。
回复
Andy__Huang 2004-10-19
'請你自己加個CommonDialog控件
Private Sub Command3_Click()
Dim objFileSystem As Object
Dim objExcelText As Object
Dim strTableString As String, i As Integer, strFileName As String
Dim pubConn As New ADODB.Connection
Dim rsTable As New ADODB.Recordset
Dim strConn As String
Dim strSQL As String

strConn = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=develop; password=12345;Data Source=ServerNmae"
pubConn.Open strConn
rsTable.CursorLocation = adUseClient
strSQL = "select top 10 * from gate_register"
rsTable.Open strSQL, pubConn, adOpenDynamic, adLockOptimistic

For i = 0 To rsTable.Fields.Count - 1
strTableString = strTableString & rsTable.Fields(i).Name & Chr(9) '獲取字段名
Next
strTableString = strTableString & rsTable.GetString '字段名+數據庫的記錄

cmDialog.CancelError = False
cmDialog.FileName = "FileName" '默認生成的文件名
cmDialog.DialogTitle = "Save Export File"
cmDialog.Filter = "Excel (*.xls)|*.xls|文本文件(*.DBF)|*.DBF|檔案文件(*.doc)|*.doc|所有文件(*.*)|*.*"
cmDialog.DefaultExt = "*.xls"
cmDialog.ShowSave
strFileName = cmDialog.FileName

Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objExcelText = objFileSystem.createtextfile(strFileName, True)
objExcelText.writeline (strTableString)

objExcelText.Close
Set objFileSystem = Nothing
End Sub
回复
cwm545 2004-10-19
我是加啊,但会出错。。
如果加个当页工资统计的,应加在那,帮修改下,谢谢。。

Set xlapp = CreateObject("Excel.Application") '创建EXCEL应用类
xlapp.Visible = True '设置EXCEL可见
Set xlbook = xlapp.Workbooks.Open("D:\xls\tua.xls") '打开EXCEL工作簿
Set xlsheet = xlbook.Worksheets(1) '打开EXCEL工作表
xlsheet.Activate '激活工作表

i = 4 '输出数据从第5行开始
rs.MoveFirst
Do Until rs.EOF
i = i + 1

xlsheet.Cells(i, 1) = i - 4 '序号
xlsheet.Cells(i, 2) = rs![nb] '员工卡号
xlsheet.Cells(i, 3) = rs![ne] '员工姓名
xlsheet.Cells(i, 4) = Format(rs![tot], "0.00") '所得工资

If (i - 4) Mod 33 = 0 And i <> 4 Then '每33条记录为一页,原来的判断不对
xlsheet.Range(xlsheet.Cells(i, 1), xlsheet.Cells(i, rs.Fields.Count)).Select
'选中当前添加的最后一行,这是关键
SendKeys "^{end}" '向应用程序EXCEL发送一个组合键CTRL+END,使光标移到文件尾
xlsheet.HPageBreaks.Add Before:=xlapp.ActiveCell '添加一个分页符 '添加一个分页符
End If

rs.MoveNext
Loop


xlapp.Worksheets.PrintPreview
xlapp.DisplayAlerts = False
xlapp.Quit
Set xlapp = Nothing
回复
haohaohappy 2004-10-19
在你跳页后将你记录的统计当页的工资加入
回复
数码辣椒 2004-10-19
用两个变量记住 工资表 当页共: 所在的行、列 在改完30行记录后将该30行记录的工资之和写入人到前需记住的行、列中就可以了
回复
cwm545 2004-10-19
晕,程序如何写?
回复
junki 2004-10-19

只要在“工资表 ”后面的单元格添加“ 当页共:”就可以了
统计的值最好先在表中已经算出来,在这里,直接写进去就行了。
回复
cwm545 2004-10-19
hdhai9451,谢谢你。
我只想在原来的基础上修改。。
回复
发动态
发帖子

1180

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
社区公告
暂无公告