请教请位高手,MShflexgrid中数据转存Excel问题

jlwangzm 2003-01-15 04:34:13
请教各高手哪位有将mshflexgrid中的数据存成excel文件的经验,grid中的数据是由存储过程生成结果传给它的,不是用SQL语句生成的,我想把表格中的数据存成电子表格文件,应该怎么办.用for 循环的办法我觉得可行,在保存前生成一个临时EXCEL文件,将grid中的单元格与电子表格中各单元格一一对应传递(其中既有文本,也有数据),但具体怎么实现我有点不知道,还有这样好象速度有点慢,请教高手不吝赐教,50分相送.
...全文
36 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yvqq 2003-01-17
  • 打赏
  • 举报
回复
同意楼上
YanJieBing 2003-01-17
  • 打赏
  • 举报
回复

各位用的都是调用Excel进行写入操作的方法

但是我想,如果只是另存为Excel文件的话,

应该可以直接将网格数据存为文件的

比如说: CSV 文件(将网格数据以行列方式写入,列与列间以逗号隔开)

是Excel直接支持的!

呵呵,拙见,希望能对你有用!

另外,有空的话请看看本人的拙作:

Http://YanJieBing.3322.Net

里面有工资报表的示例及打印控件使用说明。

jlwangzm 2003-01-17
  • 打赏
  • 举报
回复
感谢楼上的兄弟,此前我完成了用循环导入的方法,只是我用的是横向循环,您用的是竖向循环,您有没有类似用结果方法一次将它们赋给excel的方法,不管怎样我还是很感谢您,等结帐时我一定不忘您的支持,也希望我们能成为朋友.
I_Iverson 2003-01-16
  • 打赏
  • 举报
回复
On Error GoTo errhandle
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Screen.MousePointer = 11
CommonDialog1.Filter = "ExcelÎļþ£¨*.xls£©|*.xls"
CommonDialog1.ShowSave
If Trim(CommonDialog1.filename) = "" Then
Screen.MousePointer = 0
Exit Sub
End If
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)
xlApp.Visible = True
Dim i, j As Integer '¸ù¾ÝÍø¸ñÄÚÈÝÿÁÐÒÀ´Îдµ½Excel
For i = 0 To MSHFGrid.cols - 1 'i´ú±íÁÐ
If MSHFGrid.ColWidth(i) <> 0 Then
For j = 0 To MSHFGrid.Rows - 1 'j´ú±íÐÐ
xlSheet.Cells(j + 1, i + 1).Value = MSHFGrid.TextMatrix(j, i)
Next j
End If
Next i
xlSheet.SaveAs Trim(CommonDialog1.filename)
xlApp.Quit
Set xlApp = Nothing
Set xlBook = Nothing
Set xlSheet = Nothing
Screen.MousePointer = 0
Exit Sub
errhandle:
MsgBox Err.Description, vbInformation + vbOKOnly
Screen.MousePointer = 0
tomhuang 2003-01-16
  • 打赏
  • 举报
回复
好像只能这样做吧??
wanghmily980615 2003-01-16
  • 打赏
  • 举报
回复
速度是很慢啊!
要一个一个写进去啊!

809

社区成员

发帖
与我相关
我的任务
社区描述
VB 多媒体
社区管理员
  • 多媒体
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧