谢谢回复,永远感激你的帮助!
16 个解决方案
#1
要快速,就不能用OLE了。偶建议将数据导出到.csv文件中,就是以分隔符隔开的文本文件格式,Excel可以打开。
#2
将数据导出到.csv文件?怎么导,可以给指点一下吗 ?
谢谢ccrun(老妖)!
谢谢ccrun(老妖)!
#3
伪代码如下:
TStringList *pList = new TStringList;
打开数据集
...
for(int i=0; i<数据集总数; i++)
{
pList->Add(字段1 + String(char(0x09)) + 字段2
+ String(char(0x09)) + 字段3 + String(char(0x09)) + 字段4);
}
pList->SaveToFile("C:\\123.csv");
delete pList;
TStringList *pList = new TStringList;
打开数据集
...
for(int i=0; i<数据集总数; i++)
{
pList->Add(字段1 + String(char(0x09)) + 字段2
+ String(char(0x09)) + 字段3 + String(char(0x09)) + 字段4);
}
pList->SaveToFile("C:\\123.csv");
delete pList;
#4
以前不是有人发过这样的帖子吗
我试过,快很多
叫什么来的忘记了
是不是上次说买房子得到停车位那个大哥啊,我忘记他的id了
我试过,快很多
叫什么来的忘记了
是不是上次说买房子得到停车位那个大哥啊,我忘记他的id了
#5
参考这里:
http://ccrun.com/src/v.asp?id=30
http://ccrun.com/src/v.asp?id=30
#6
谢谢各位的回复,
特别谢谢ccrun(老妖)
速度确实很快,可是所有的字段导出后都在一列啊!!
为什么会这样??
特别谢谢ccrun(老妖)
速度确实很快,可是所有的字段导出后都在一列啊!!
为什么会这样??
#7
up!
pList->SaveToFile("C:\\123.csv");
改成pList->SaveToFile("C:\\123.Txt");
再用Excel打开,Excel会询问你进行转换一次。即可按字段排了。
pList->SaveToFile("C:\\123.csv");
改成pList->SaveToFile("C:\\123.Txt");
再用Excel打开,Excel会询问你进行转换一次。即可按字段排了。
#8
TStringList *pList = new TStringList;
打开数据集
...
for(int i=0; i<数据集总数; i++)
{
pList->Add(字段1 + String(char(0x09)) + 字段2
+ String(char(0x09)) + 字段3 + String(char(0x09)) + 字段4);
}
pList->SaveToFile("C:\\123.csv");
delete pList;
===========================================
pList->Add的时候不加回车换行,当然是一列了。
pList->Add(字段1 + String(char(0x09)) + 字段2
+ String(char(0x09)) + 字段3 + String(char(0x09)) + 字段4+"\r\n");
#9
excel 每个Sheet 最大只能支持到65535行!
100万行这不是要了excel的命了!
100万行这不是要了excel的命了!
#10
老妖的伪代码是可行的,楼主把excel到日时候的列分隔符设为tab就对了,或者你干脆把 char(0x09) 改为 ','
#11
excel 每个Sheet 最大只能支持到65535行!
100万行这不是要了excel的命了!
100万行这不是要了excel的命了!
#12
你只能分成2个excel文件,因为excel最大行数是:65535,另外,这么大数据量绝对不能用OLE,一种就是用ADO,一种就是上面这种方法,先倒成.txt再导入excel,还有一种是直接写成EXCel格式,很快。我记得有人写过一个例子,真叫快,2000条记录一眨眼
#13
谢谢各位了!
#14
最好的办法还是使用控件,XLSreadwriteII,可以输出到excel97的格式,不过高版本的office打开是没有问题的,100万记录的话,可以使用他生成多个工作表,每个工作表65000条记录,当然,这个需要你自己控制。官方给出的输出速度是每秒100万个单元格,不过我想这应该是单元格不带有其他格式的输出速度,正常每秒20万单元格,应当还是没问题的,控件本身有例子,可以参考一下,速度方面绝对无与伦比,个人认为比华表的那个控件速度快多了。
#15
使用pList方式不需要加\r\n,因为pList->Add方法自动加的
#16
请参考王光红先生的代码http://ccrun.com/src/v.asp?id=30
#1
要快速,就不能用OLE了。偶建议将数据导出到.csv文件中,就是以分隔符隔开的文本文件格式,Excel可以打开。
#2
将数据导出到.csv文件?怎么导,可以给指点一下吗 ?
谢谢ccrun(老妖)!
谢谢ccrun(老妖)!
#3
伪代码如下:
TStringList *pList = new TStringList;
打开数据集
...
for(int i=0; i<数据集总数; i++)
{
pList->Add(字段1 + String(char(0x09)) + 字段2
+ String(char(0x09)) + 字段3 + String(char(0x09)) + 字段4);
}
pList->SaveToFile("C:\\123.csv");
delete pList;
TStringList *pList = new TStringList;
打开数据集
...
for(int i=0; i<数据集总数; i++)
{
pList->Add(字段1 + String(char(0x09)) + 字段2
+ String(char(0x09)) + 字段3 + String(char(0x09)) + 字段4);
}
pList->SaveToFile("C:\\123.csv");
delete pList;
#4
以前不是有人发过这样的帖子吗
我试过,快很多
叫什么来的忘记了
是不是上次说买房子得到停车位那个大哥啊,我忘记他的id了
我试过,快很多
叫什么来的忘记了
是不是上次说买房子得到停车位那个大哥啊,我忘记他的id了
#5
参考这里:
http://ccrun.com/src/v.asp?id=30
http://ccrun.com/src/v.asp?id=30
#6
谢谢各位的回复,
特别谢谢ccrun(老妖)
速度确实很快,可是所有的字段导出后都在一列啊!!
为什么会这样??
特别谢谢ccrun(老妖)
速度确实很快,可是所有的字段导出后都在一列啊!!
为什么会这样??
#7
up!
pList->SaveToFile("C:\\123.csv");
改成pList->SaveToFile("C:\\123.Txt");
再用Excel打开,Excel会询问你进行转换一次。即可按字段排了。
pList->SaveToFile("C:\\123.csv");
改成pList->SaveToFile("C:\\123.Txt");
再用Excel打开,Excel会询问你进行转换一次。即可按字段排了。
#8
TStringList *pList = new TStringList;
打开数据集
...
for(int i=0; i<数据集总数; i++)
{
pList->Add(字段1 + String(char(0x09)) + 字段2
+ String(char(0x09)) + 字段3 + String(char(0x09)) + 字段4);
}
pList->SaveToFile("C:\\123.csv");
delete pList;
===========================================
pList->Add的时候不加回车换行,当然是一列了。
pList->Add(字段1 + String(char(0x09)) + 字段2
+ String(char(0x09)) + 字段3 + String(char(0x09)) + 字段4+"\r\n");
#9
excel 每个Sheet 最大只能支持到65535行!
100万行这不是要了excel的命了!
100万行这不是要了excel的命了!
#10
老妖的伪代码是可行的,楼主把excel到日时候的列分隔符设为tab就对了,或者你干脆把 char(0x09) 改为 ','
#11
excel 每个Sheet 最大只能支持到65535行!
100万行这不是要了excel的命了!
100万行这不是要了excel的命了!
#12
你只能分成2个excel文件,因为excel最大行数是:65535,另外,这么大数据量绝对不能用OLE,一种就是用ADO,一种就是上面这种方法,先倒成.txt再导入excel,还有一种是直接写成EXCel格式,很快。我记得有人写过一个例子,真叫快,2000条记录一眨眼
#13
谢谢各位了!
#14
最好的办法还是使用控件,XLSreadwriteII,可以输出到excel97的格式,不过高版本的office打开是没有问题的,100万记录的话,可以使用他生成多个工作表,每个工作表65000条记录,当然,这个需要你自己控制。官方给出的输出速度是每秒100万个单元格,不过我想这应该是单元格不带有其他格式的输出速度,正常每秒20万单元格,应当还是没问题的,控件本身有例子,可以参考一下,速度方面绝对无与伦比,个人认为比华表的那个控件速度快多了。
#15
使用pList方式不需要加\r\n,因为pList->Add方法自动加的
#16
请参考王光红先生的代码http://ccrun.com/src/v.asp?id=30