CSDN论坛 > Delphi > VCL组件开发及应用

如何提高从dbGRID输出数据到EXCEL的速度? [问题点数:0分]

Bbs1
本版专家分:2
结帖率 100%
CSDN今日推荐
Bbs9
本版专家分:51786
Blank
红花 2008年12月 其他数据库开发大版内专家分月排行榜第一
2008年9月 其他数据库开发大版内专家分月排行榜第一
Blank
黄花 2014年7月 其他数据库开发大版内专家分月排行榜第二
2014年3月 其他数据库开发大版内专家分月排行榜第二
2013年7月 其他数据库开发大版内专家分月排行榜第二
2013年4月 其他数据库开发大版内专家分月排行榜第二
2012年3月 其他数据库开发大版内专家分月排行榜第二
2011年8月 其他数据库开发大版内专家分月排行榜第二
2011年7月 其他数据库开发大版内专家分月排行榜第二
2009年11月 其他数据库开发大版内专家分月排行榜第二
2009年7月 其他数据库开发大版内专家分月排行榜第二
2009年6月 其他数据库开发大版内专家分月排行榜第二
2009年5月 其他数据库开发大版内专家分月排行榜第二
2009年4月 其他数据库开发大版内专家分月排行榜第二
2009年3月 其他数据库开发大版内专家分月排行榜第二
2009年1月 其他数据库开发大版内专家分月排行榜第二
2008年10月 其他数据库开发大版内专家分月排行榜第二
2008年8月 其他数据库开发大版内专家分月排行榜第二
2003年9月 Delphi大版内专家分月排行榜第二
Blank
蓝花 2014年4月 其他数据库开发大版内专家分月排行榜第三
2013年10月 其他数据库开发大版内专家分月排行榜第三
2013年9月 其他数据库开发大版内专家分月排行榜第三
2013年6月 其他数据库开发大版内专家分月排行榜第三
2012年12月 其他数据库开发大版内专家分月排行榜第三
2012年11月 其他数据库开发大版内专家分月排行榜第三
2012年10月 其他数据库开发大版内专家分月排行榜第三
2012年9月 其他数据库开发大版内专家分月排行榜第三
2012年1月 其他数据库开发大版内专家分月排行榜第三
2011年11月 其他数据库开发大版内专家分月排行榜第三
2011年9月 其他数据库开发大版内专家分月排行榜第三
2011年6月 其他数据库开发大版内专家分月排行榜第三
2011年5月 其他数据库开发大版内专家分月排行榜第三
2011年4月 其他数据库开发大版内专家分月排行榜第三
2011年3月 其他数据库开发大版内专家分月排行榜第三
2010年11月 其他数据库开发大版内专家分月排行榜第三
2010年4月 其他数据库开发大版内专家分月排行榜第三
2010年1月 其他数据库开发大版内专家分月排行榜第三
2009年12月 其他数据库开发大版内专家分月排行榜第三
2009年2月 其他数据库开发大版内专家分月排行榜第三
2008年7月 其他数据库开发大版内专家分月排行榜第三
2008年6月 其他数据库开发大版内专家分月排行榜第三
2008年1月 其他数据库开发大版内专家分月排行榜第三
2007年12月 其他数据库开发大版内专家分月排行榜第三
2003年12月 Delphi大版内专家分月排行榜第三
2003年10月 Delphi大版内专家分月排行榜第三
Bbs4
本版专家分:1425
Blank
红花 2008年3月 软件工程/管理大版内专家分月排行榜第一
匿名用户不能发表回复!
其他相关推荐
让delphi的DBGrid能自适应列宽
  ///////Begin   Source     uses         Math;          function   DBGridRecordSize(mColumn:   TColumn):   Boolean;     {   返回记录数据网格列显示最大宽度是否成功   }     begin         Result   :=   False;         if   ...
Delphi 导出数据至Excel的7种方法
一; delphi 快速导出excel uses ComObj,clipbrd; function ToExcel(sfilename:string; ADOQuery:TADOQuery):boolean; const xlNormal=-4143; var y : integer; tsList : TStringList; s,filename :strin
如何加快c++的cout流的输出速度
很简单  ios::sync_with_stdio(false); cin.tie(0); 在使用前面加上面的代码就行了
Excel导入性能优化
需求:http://blog.csdn.net/u013036274/article/details/51848592继上次的导入Excel数据实现,但是导入的太慢。因为保存数据库之前需要查重,查询数据库的次数太多,有多少条数据就查询多少次数据库,导致导入数据越多,导入速度越慢,性能有待提高,于是乎,先从代码优化做起吧。 思路:由于是学生信息的导入,学生的学号就是主键,而且学生的学号也是根据年份
怎样把DBGrid的内容导出到Excel
void __fastcall TPhoneForm::SelectButtonClick(TObject *Sender) {   AnsiString StrDate, ExName;//存放日期用于sheet   AnsiString Datatem,phone1="拨号";//临时存放数据库的字段值   int i,j;   //查询所需的数据   PhoneADOQuery->Close();   PhoneADOQuery->Parameters->ParamByName("date1")->Value=PhoneMaskEdit1->Text;   PhoneADOQuery->Parameters->ParamByName("date2")->Value=PhoneMaskEdit2->Text;   PhoneADOQuery->Active=true;   //新建一个EXCEL   Ex = Variant::CreateObject("Excel.Application");   Ex.OlePropertyGet("workbooks").OleFunction("Add", 6);   Wb = Ex.OlePropertyGet("ActiveWorkBook");   Sh = Wb.OlePropertyGet("ActiveSheet");   Ex.OlePropertySet("Visible", true);   //给sheet以日期重命名,   StrDate=DateToStr(Date());   Sh.OlePropertySet("Name", StrDate.c_str());   //给EXCEL输入数据   for (j=0;j<PhoneADOQuery->FieldCount;j++)   {      Datatem=PhoneADOQuery->Fields->Fields[j]->FieldName;      Sh.OlePropertyGet("Cells", 1, j+1).OlePropertySet("Value", Datatem.c_str());   }   PhoneADOQuery->First();   for (i=0; i<PhoneADOQuery->RecordCount; i++)   {   for (j=0;j<PhoneADOQuery->FieldCount;j++)   {      Datatem=PhoneADOQuery->Fields->Fields[j]->AsString;      Sh.OlePropertyGet("Cells", i+2, j+1).OlePropertySet("Value", Datatem.c_str());      if (phone1==PhoneADOQuery->Fields->Fields[j]->FieldName)     {Sh.OlePropertyGet("Cells", i+2, j+1).OlePropertySet("NumberFormatLocal", "0_ ");//设置单元格格式为数值格式 }   }   PhoneADOQuery->Next();   }   //保存EXCEL并退出   ExName=GetCurrentDir()+"\\"+DateToStr(Date())+".xls";   Wb.OleFunction("SaveAs", ExName.c_str());   Wb.OleFunction("Close");   Ex.OleFunction ("Quit");   Ex = Unassigned; }
delphi中_从dbgrid导出数据保存成excel文件
delphi中_从dbgrid导出数据保存成excel文件
Excel数据导入速度太慢
问题描述:某个单价设置excel导入功能,时间很长,才400条数据,并且最后报错:该记录已存在。问题分析:① 时间很长:代码里每导入一条数据,就会根据品名编码取一下产品信息,用来校验产品大类,这样频繁访问数据库很慢。② 需求是:导入的记录,如果原来已有则覆盖,但是目前是新增,所以会检查数据是否已存在。原来的服务器方法里,有自动填充的,但是用错了。问题处理:① 一次性取出校验,不允许频繁访问数据库②...
Redis让Spark数据分析速度提升45倍(留作机器学习使用)
https://redislabs.com/solutions/spark-and-redis 一些内存数据结构比其他数据结构来得更高效;如果充分利用Redis,Spark运行起来速度更快。 Apache Spark已逐渐俨然成为下一代大数据处理工具的典范。通过借鉴开源算法,并将处理任务分布到计算节点集群上,无论在它们在单一平台上所能执行的数据分析类型方面,还是在执
将DBGrid中的数据快速导出到Excel的控件
发布原因:<br>在网上找了很久也没找到个好用的,不是慢,就是要依赖Excel(必须按装),又找呀找,才找到一个http://blog.csdn.net/xiangding/archive/2003/10/27/16918.aspx,但试了一下,不能用,不知是我用法不对还是本身有问题(由于没有给出使用示例),后来找到http://developer.51cto.com/art/200510/7494.htm这个不错,但他又让我装ehlid,不爽,所以对其做了修改,其它也就是去了个加页脚的地方,很爽,有进度条,导完后如果按安装了Excel则直接打开,如果没有的话就不管了,自已想办法打开吧!<br><br>特点:<br>一、不需安装Excel即可导出。<br>二、有进度条。<br>三、最多可以导出多少条,我没试,我试了5万条没有问题,时间也就是只需1-5分钟(我电脑较慢)。<br>四、不需安装组件。<br><br>使用方法(注:别忘了uses DBGridToExcel;):<br>procedure TForm1.btn1Click(Sender: TObject);<br>var<br> DBGridToExcel: TDBGridToExcel;<br> ExcelFileName: string;<br>begin<br> DBGridToExcel := TDBGridToExcel.Create(nil);<br> try<br> DBGridToExcel.TitleName := '入网车辆统计报表';<br> DBGridToExcel.BeginDate := '开始日期:2005-07-01';<br> DBGridToExcel.EndDate := '结束日期:2005-07-18';<br> DBGridToExcel.UserName := '系统管理员';<br> DBGridToExcel.DBGrid := dbgrd1;<br> DBGridToExcel.ShowProgress := True;<br> if ExcelFileName = '' then<br> begin<br> ExcelFileName := 'c:\1.xls';<br> with TSaveDialog.Create(nil) do<br> begin<br> Filter := 'Microsoft Excel xls文件|*.xls';<br> DefaultExt := 'xls';<br> if not Execute then<br> Exit<br> else<br> ExcelFileName := FileName;<br> end;<br> end;<br> DBGridToExcel.FileName := ExcelFileName;<br> DBGridToExcel.Open := False;<br> DBGridToExcel.ExportToExcel;<br> finally<br> DBGridToExcel.Free;<br> end;<br>end;<br>
mysql提高insert into 插入速度的3种方法
当mysql大批量插入数据的时候就会变的非常慢, mysql提高insert into 插入速度的方法有三种:第一种插入提速方法:如果数据库中的数据已经很多(几百万条), 那么可以 加大mysql配置中的 bulk_insert_buffer_size,这个参数默认为8Mbulk_insert_buffer_size=100M第二种mysql插入提速方法: 改写所有 insert into 语句为...
关闭
关闭