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

}

}

相关推荐
一点一木1 天前
深度体验TRAE SOLO移动端7天:作为独立开发者,我把工作流揣进了兜里
前端·人工智能·trae
天外飞雨道沧桑1 天前
TypeScript 中 omit 和 record 用法
前端·javascript·typescript
Lee川1 天前
mini-cursor 揭秘:从 Tool 定义到 Agent 循环的完整实现
前端·人工智能·后端
一直不明飞行1 天前
Java的equals(),hashCode()应该在什么时候重写
java·开发语言·jvm
REDcker1 天前
有限状态机与状态模式详解 FSM建模Java状态模式与C++表驱动模板实践
java·c++·状态模式
canonical_entropy1 天前
从 Spec-Driven Development 到 Attractor-Guided Engineering
前端·aigc·ai编程
研☆香1 天前
聊聊前端页面的三种长度单位
前端
你的保护色1 天前
【无标题】
java·服务器·网络
给钱,谢谢!1 天前
React + PixiJS 实现果园成长页:从状态机到浇水动画
前端·react.js·前端框架
basketball6161 天前
C++ 构造函数完全指南:从入门到进阶
java·开发语言·c++