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->Strings[i]));

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

pItem->SubItems->Add(OpenDialog1->Files->Strings[i]); //注数

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

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

RzProgressBar1->Percent=100*i/num;

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

//pItem->SubItems->Strings[1]="不详";

// ListView1->Items->Item[i]->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->Items[0]->Caption="id ["+AnsiString(Lnum)+"]";

RzStatusPane2->Caption =

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

// to

}

}

相关推荐
lee_curry44 分钟前
第四章 jvm中的垃圾回收器
java·jvm·垃圾收集器
QQ1__8115175151 小时前
Spring boot名城小区物业管理系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】
前端·vue.js·spring boot
钛态1 小时前
前端微前端架构:大项目的救命稻草还是自找麻烦?
前端·vue·react·web
一粒黑子1 小时前
【实战解析】阿里开源 PageAgent:纯前端 GUI Agent,一行JS让网页支持自然语言操控
前端·javascript·开源
独角鲸网络安全实验室1 小时前
2026微信小程序抓包全解析:从实操落地到合规风控,解锁前端调试新范式
前端·微信小程序·小程序·抓包·系统代理绕过·https证书严格校验·进程隔离
紫微AI1 小时前
前端文本测量成了卡死一切创新的最后瓶颈,pretext实现突破了
前端·人工智能·typescript
GISer_Jing1 小时前
AI前端(From豆包)
前端·aigc·ai编程
IT枫斗者1 小时前
前端部署后如何判断“页面是不是最新”?一套可落地的版本检测方案(适配 Vite/Vue/React/任意 SPA)
前端·javascript·vue.js·react.js·架构·bug
测试修炼手册1 小时前
[测试技术] 深入理解 JSON Web Token (JWT)
前端·json
AI老李1 小时前
2026 年 Web 前端开发的 8 个趋势!
前端