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

}

}

相关推荐
原则猫14 小时前
前端基础大厦
前端
陈随易15 小时前
编程语言级别的Skill市场,AI Agent 的未来形态
前端·后端·程序员
SoaringHeart16 小时前
Flutter进阶:基于 EasyRefresh 的下拉刷新封装 n_easy_refresh_mixin.dart
前端·flutter
IT_陈寒18 小时前
Vite的热更新突然不香了,排查三小时差点砸键盘
前端·人工智能·后端
子兮曰18 小时前
Agency-Agents 深度解析:400+ AI 专家的"梦之队"如何重塑开发工作流
前端·后端·vibecoding
竹林81819 小时前
用 The Graph 查询链上数据实战:从手搓 RPC 到 Subgraph,我的 NFT 项目数据加载快了 10 倍
前端·javascript
karry_k19 小时前
MyBatis批量insert-select踩坑:useGeneratedKeys=true 可能让PostgreSQL返回大量插入结果
java·后端
妙码生花19 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(十九):点选验证码代码逐行目检
前端·后端·go
karry_k19 小时前
PostgreSQL 在 MyBatis 中执行正常 SQL 失效:一次 DELETE USING 踩坑记录
java·后端
Awu122720 小时前
⚡从零开发 Agent CLI(五)实现一个可治理、可扩展的工具系统
前端·人工智能·claude