输出ADO记录集到Excel报表模板的问题 因为表头比较复杂,所以我用Excel中做了个表头,再把ADO记录集输出到这个表中,但结果却自动插入列,显示在左边,即把原表头往右挤了,而不是套入格式,代码如下Set xlQuery = xlSheet.QueryTables.Add(Rs_Data, xlSheet.Range("a1"))请问能不能套入格式? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 输出到EXCEL是要指定输出的位置 这个你要查一下VBA里的具体设置 我认为你应该先做个模板,然后在把数据输入到相应的地方给你个例子,记得要在“引用”中添加"Misrosoft Excel9.0 Objec Library"Set xlapp1 = CreateObject("excel.application") 'create the excel object Set xlbook1 = xlapp1.Workbooks.Open(CommonDialog1.FileName) 'FileName changed xlapp1.Workbooks(CommonDialog1.FileTitle).Activate xlbook1.Worksheets(1).Cells(1, 1) = Text1.Text & "年" & "按单位板块查询的完成资产统计表" xlbook1.Worksheets(1).Cells(2, 7) = "金额单位:元" xlbook1.Worksheets(1).Cells(3, 1) = "序号" xlbook1.Worksheets(1).Cells(3, 2) = "单位板块" xlbook1.Worksheets(1).Cells(3, 3) = "计划总额" xlbook1.Worksheets(1).Cells(3, 4) = "总计" xlbook1.Worksheets(1).Cells(3, 5) = "完成资产额" xlbook1.Worksheets(1).Cells(3, 6) = "预付款" xlbook1.Worksheets(1).Cells(3, 7) = "付款额" xlbook1.Worksheets(1).Cells(3, 8) = "备注" strsql = Text3.Text Set rs = ExecuteSQL(strsql, msgtext) For i = 4 To rs.RecordCount + 3 xlbook1.Worksheets(1).Cells(i, 1) = i - 3 xlbook1.Worksheets(1).Cells(i, 2) = rs.Fields("单位板块") xlbook1.Worksheets(1).Cells(i, 3) = rs.Fields("金额") xlbook1.Worksheets(1).Cells(i, 4) = rs.Fields("配套金额") xlbook1.Worksheets(1).Cells(i, 5) = rs.Fields("完成资产") xlbook1.Worksheets(1).Cells(i, 6) = rs.Fields("预付款额") xlbook1.Worksheets(1).Cells(i, 7) = rs.Fields("付款额") wczcje = wczcje + rs.Fields("完成资产") yfkje = yfkje + rs.Fields("预付款额") fkje = fkje + rs.Fields("付款额") jhje = jhje + rs.Fields("金额") zjje = zjje + rs.Fields("配套金额") rs.MoveNext Next 但结果却自动插入列,显示在左边,即把原表头往右挤了,而不是套入格式我不明白为什么你不在数据传入以后再设计表头呢,表头是很复杂,但你可以从一个设计好的Excel模板中拷贝过来啊.只要你在传入数据的时候预留表头的位置就行了.对于怎么用程序拷过来,我想你一定比我还清楚. 可以的Set xlQuery = xlSheet.QueryTables.Add(Rs_Data, xlSheet.Range("a4"))a1就是从第一行开始,设置从表头下的一行就可以了 谢谢cly2004(学习ing!) ,这样的反向思维得到的方法也许是唯一的办法了to wenhongL(三脚猫):我上面代码只是举例子,其实你随便指到哪个单元格都是不行的,不如也写个代码试试,别想当然啊 怎么让listview 选中行的内容,挨个写进数组。 怎样将picturebox里的图片拖动到word里? 请问在COMBO里面剔除一样的字段啊 问一个数学中LOG的计算过程 工具栏编程的难点? 如何写这样的查询? 关于空记录字段的判断,看我的代码,请您给出意见 ShellExecute调用WORD打开文档时出现“应用程序错误” 送分问题---请问在vb中如何用相对路径声明一个dll?? 菜鸟问题,一定给分 可不可以截取WebBrowser1中网页表单内的值? vb方面除了csdn,还有哪个论坛比较好呀?请达人进,谢了。
给你个例子,记得要在“引用”中添加"Misrosoft Excel9.0 Objec Library"
Set xlapp1 = CreateObject("excel.application") 'create the excel object
Set xlbook1 = xlapp1.Workbooks.Open(CommonDialog1.FileName) 'FileName changed
xlapp1.Workbooks(CommonDialog1.FileTitle).Activate
xlbook1.Worksheets(1).Cells(1, 1) = Text1.Text & "年" & "按单位板块查询的完成资产统计表"
xlbook1.Worksheets(1).Cells(2, 7) = "金额单位:元"
xlbook1.Worksheets(1).Cells(3, 1) = "序号"
xlbook1.Worksheets(1).Cells(3, 2) = "单位板块"
xlbook1.Worksheets(1).Cells(3, 3) = "计划总额"
xlbook1.Worksheets(1).Cells(3, 4) = "总计"
xlbook1.Worksheets(1).Cells(3, 5) = "完成资产额"
xlbook1.Worksheets(1).Cells(3, 6) = "预付款"
xlbook1.Worksheets(1).Cells(3, 7) = "付款额"
xlbook1.Worksheets(1).Cells(3, 8) = "备注"
strsql = Text3.Text
Set rs = ExecuteSQL(strsql, msgtext)
For i = 4 To rs.RecordCount + 3
xlbook1.Worksheets(1).Cells(i, 1) = i - 3
xlbook1.Worksheets(1).Cells(i, 2) = rs.Fields("单位板块")
xlbook1.Worksheets(1).Cells(i, 3) = rs.Fields("金额")
xlbook1.Worksheets(1).Cells(i, 4) = rs.Fields("配套金额")
xlbook1.Worksheets(1).Cells(i, 5) = rs.Fields("完成资产")
xlbook1.Worksheets(1).Cells(i, 6) = rs.Fields("预付款额")
xlbook1.Worksheets(1).Cells(i, 7) = rs.Fields("付款额")
wczcje = wczcje + rs.Fields("完成资产")
yfkje = yfkje + rs.Fields("预付款额")
fkje = fkje + rs.Fields("付款额")
jhje = jhje + rs.Fields("金额")
zjje = zjje + rs.Fields("配套金额")
rs.MoveNext
Next
你不在数据传入以后再设计表头呢,表头是很复杂,但你可以从一个设计好的Excel模板中拷贝过来啊.只要你在传入数据的时候预留表头的位置就行了.
对于怎么用程序拷过来,我想你一定比我还清楚.
Set xlQuery = xlSheet.QueryTables.Add(Rs_Data, xlSheet.Range("a4"))a1就是从第一行开始,设置从表头下的一行就可以了
to wenhongL(三脚猫):我上面代码只是举例子,其实你随便指到哪个单元格都是不行的,不如也写个代码试试,别想当然啊