如何将DATASET中的数据写成EXCEL文件?(125分)

  • 主题发起人 主题发起人 荷塘新月
  • 开始时间 开始时间

荷塘新月

Unregistered / Unconfirmed
GUEST, unregistred user!
如何将DATASET中的数据写成EXCEL文件,不通过调用EXCEL方式,而是向FORMULA ONE
那样,因为客户的机器中不一定安装MS EXCEL或者MSJET。
 
你好好找找以前的帖子,很多
http://www.delphibbs.com/delphibbs/dispq.asp?lid=664606
 
建议你做一个循环
将Dataset中的数据一条条写到一个附档为xls的文件中去
(或者干脆写到Richedit中,再用其Savetofile存到.xls文件中)
注意各字段值之间用要用Tab键格开
 
导成CSV格式,EXCEL通用!!!
如:
86431,jk99,8888,141@.net,000009901,2000-09-05 16:00:00.000
86046,jk99,8888,111,test84est,2000-09-03 02:24:00.000

zchu

 
你可以看devexpress的dbgrid的源代码,
 
将Dataset中的数据用SQL直接一条条写到一个附档为xls的文件中去
 
各位大侠,借用EXCEL的方式我已经实现。我的意思是不通过EXCEL直接将数据存为XLS
文件,就象VISUAL FOXPRO的 COPY TO XX TYPE XLS5一样。
 
zippypig的方法是可以得.其实就是存成文本文件,不过注意
一条记录的不同字段间用逗号或char(10)分割开.
一条记录存完用回车.
保存的文件名后缀改成.xls
看看excel是如何导入txt文件的就清楚了.
 
提供一个思路:
转载:

>>
不要Excel也可生成xls文件

无需Excel也可以把任何数据保存为一个Excel可以读取的xls文件。你可以用记事本生成一个Test.txt文件:

Name Age
Bell 24
Wang 34
Gates 43

然后存盘,把文件名改为Test.xls。注意字段之间用Tab键隔开,而不是空格。然后双击该文件,好事发生了,该文件被Excel打开了,并读出了其中的数据。每一个字段中的数据都放在了一个Cell中。(Excel2000)

事实上,字段分割符可以是任何字符,如分号,逗号,空格。不过,在这些情况下(分割符不是Tab),Excel会弹出数据导入向导对话框,问你以什么字符作为分割符,以及日期的转换格式等等。

结论:Excel对于纯文本内容的xls文件,会试图将其看作一个文本表格,每一行认为是一条记录,行中以分割符分开的各个部分认为是记录的各个字段的值。缺省的分割符是Tab制表符。

这样,任何数据集都可以简单地通过往一个文本文件中写数据,而生成一个Excel可读的xls文件了。在Delphi中,Tab制表符以#9表示,如:LineStr := Str1 + #9 + Str2 。

这样的优缺点:
1、导出数据无需Excel。
2、导出速度较快。
3、读取速度较慢。(Excel要转化数据格式)

如,有一个朋友问过的需要在主机上生成Excel文件,再通过Web发布的情况,就可以这样实现了
 
多人接受答案了。
 
后退
顶部