C++ Builder XE OpenDialog1打开多文件并显示xls与xlsx二种格式文件

void __fastcall TForm1::BitBtn8Click(TObject *Sender)

{

OpenDialog1->Options<<ofAllowMultiSelect<<ofFileMustExist;//允许选择多个文件

OpenDialog1->Title="请选择导入的文件!";
OpenDialog1->Filter="Excel Files (*.xls;*.xlsx)|*.xls;*.xlsx|All Files (*.*)|*.*";

//设置文件过滤

OpenDialog1->DefaultExt="xls";

//设置缺省扩展名

//BitBtn1图片要在上方,得设置layout为blglyphTop

//OpenDialog1->ofAllowMultiSelect=true!

//

int i,num,Lnum;

if(OpenDialog1->Execute())

{

//++++++++++++++++++++++++++++++++++++++++++++

//计算时间

clock_t start,end,dtStart;

start=clock();

//

RzProgressBar1->Percent=0;

//++++++++++++++++++++++++++++++++++++++++++++

num=OpenDialog1->Files->Count;

Lnum=ListView1->Items->Count;

//为空退出

if (num==0)

return;

//

ListView1->Items->BeginUpdate();

TListItem *pItem=0;

for(i=0;i<num;i++)

{

pItem=ListView1->Items->Add();

pItem->Caption=Lnum+i+1;

pItem->SubItems->Add(ExtractFileName(OpenDialog1->Files->Stringsi));

pItem->SubItems->Add("***"); //注数

pItem->SubItems->Add(OpenDialog1->Files->Stringsi); //注数

pItem->SubItems->Add("*");

//++++++++++++++++++++++++++++++++++++++++++++

RzProgressBar1->Percent=100*i/num;

//++++++++++++++++++++++++++++++++++++++++++++

//pItem->SubItems->Strings1="不详";

// ListView1->Items->Itemi->ImageIndex=0;

}

ListView1->Items->EndUpdate();

Lnum=ListView1->Items->Count;

//RzGroupBox1->ActivePageIndex=0;

//Label4->Caption="预导入大底:"+String(Lnum)+" 个";

//++++++++++++++++++++++++++++++++++++++++++++

RzProgressBar1->Percent=100;

//++++++++++++++++++++++++++++++++++++++++++++

// +++++++++++++++++++++++++++++++++++++++++++++++

//操作完成计时

end=clock();

dtStart=end-start;

float dSec=float(dtStart)/1000;

RzStatusPane1->Caption ="预导入大底:"+String(Lnum)+" 个";

ListView1->Columns->Items0->Caption="id "+AnsiString(Lnum)+"";

RzStatusPane2->Caption =

"耗时:"+FloatToStrF(dSec,ffFixed,4,3)+" 秒 ";

// to

}

}

相关推荐
立少→万能汉编1 分钟前
用“立少→超文本”写静态网页,标签<倍>
服务器·前端·javascript
旖旎夜光4 分钟前
LeetCode 904:水果成篮(滑动窗口) —— 题解
数据结构·c++·算法·leetcode·滑动窗口
weixin_431600449 分钟前
NestJS 入门(7):生命周期钩子——构造函数和 `OnModuleInit` 差在哪?
前端·后端·学习·node.js·nest.js
小强库计算机毕业设计13 分钟前
基于 Spring Boot + Vue3 的校园管理系统
java·spring boot·后端·项目实战·管理系统·技术分享·校园管理系统实战
霸道流氓气质23 分钟前
Java中信号量(Semaphore):从本地到分布式
java·开发语言·分布式
怪奇云呼军25 分钟前
G.711、Opus 和重采样会拖慢识别吗?闪电智能VoiceAgent 的音频入口怎么选
java·人工智能·python·算法·云计算·音视频
编程令我快乐33 分钟前
maven部分构建参数讲解
java·maven
ZC跨境爬虫38 分钟前
LeetCode 27. 移除元素(双指针详解 + Java Python 多解法对比)
java·python·leetcode
cindershade1 小时前
用原生 HTML5 视频与 Canvas 实现浏览器端视频抽帧封面
前端
笨鸟先飞,勤能补拙1 小时前
Web 服务器与计算机网络全景原理
运维·服务器·前端·网络·人工智能·计算机网络·web安全