bcb中用数组给Excel的区域赋值
来源:互联网 发布:sql数据库置疑修复工具 编辑:程序博客网 时间:2024/05/01 02:20
今天导出Excel文件时,由于数据量比较大,一个一个单元格的写,速度比较慢慢。我在自己的机器上测试了一下,如果数据量为5万多时,需要的时间大概要8分钟左右,速度实在太慢了。我想能不能给Excel的区域赋值呢,这样的速度可能会快一点。于是自己上网查了查资料,但是这部分的资料大部分是Vb的,BCB关于区域赋值的资料几乎没有。于是自己在机器上试试一两个小时,终于给试出来了,不敢私藏,拿出来给大家看看,看看有没有更好的办法。
代码如下:
- Variant ExcelApp, Sheet;
- try
- {
- ExcelApp=Variant::CreateObject( "Excel.Application");
- }
- catch(...)
- {
- MessageBox(Handle, "无法启动Excel! ", "信息提示 ",MB_ICONSTOP|MB_OK);
- return;
- }
- ExcelApp.OlePropertySet( "Visible",false);
- ExcelApp.OlePropertyGet("Workbooks").OleFunction("Add", 1);
- Sheet = ExcelApp.OlePropertyGet("ActiveWorkbook").OlePropertyGet("Sheets", 1);
- String str[4];
- str[0] = "11";
- str[1] = "2";
- str[2] = "33";
- str[3] = "44";
- int Bounds[4] = {0,1,0,3}; //二维数组 相当于 Datas[1][4]
- Variant Datas= VarArrayCreate(Bounds, 3, varVariant);
- for(int i=0;i<1;i++)
- {
- for(int j=0;j<4;j++)
- {
- Datas.PutElement(str[j],i,j);
- }
- }
- Sheet.OlePropertyGet("range","A1:D1").OlePropertySet("Value", Datas);
- ExcelApp.OlePropertyGet("ActiveWorkbook").OleFunction("SaveAs", "c://11.xls");
- ExcelApp.OleFunction("Quit");
- Sheet = Unassigned;
- ExcelApp = Unassigned;
- bcb中用数组给Excel的区域赋值
- javascript中用=给数组赋值
- 上传的EXCEL给内表赋值
- 给字符数组赋值的方法
- 给字符数组赋值的方法
- 给字符数组赋值的方法
- 给字符数组赋值的方法
- 数组赋值给vector的快速方法
- 给字符数组赋值的方法
- 给字符数组赋值的方法
- 给字符数组赋值的方法
- 给字符数组赋值的易错点
- 给字符数组赋值的方法
- 给字符数组赋值的方法
- 给字符数组赋值的方法
- 给字符数组赋值的方法
- 给字符数组赋值的方法
- 关于数组给指针赋值的问题
- Erlang教程
- dataadapter 更新到数据库出库,请大侠指点下,谢谢
- 如何动态加载控件以及插件编程思想(C#)
- Head First C# 中文版 图文皆译 第二章 page49
- 使用接口的注意事项
- bcb中用数组给Excel的区域赋值
- 遭遇svchoct.exe,vonine.exe,HBKernel32.sys,ssdtti.sys,System.exe,ublhbztl.sys等2
- 水利水电--大学计算机基础课件
- 杨元庆、马云携手助力中小企业走出困局
- 继续A*演示程序
- RichEdit控件 SDK 参考手册
- 【开源工程】VirtualDub
- 通过客户端触发服务端事件
- 关于限制文本框输入字符类型的问题