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

}

}

相关推荐
Csvn几秒前
性能监控
前端
Csvn27 分钟前
构建工具
前端
FRing031 小时前
vue2干货总结3(computed计算属性、watch监听器)
开发语言·前端·vue.js·vue2
沫璃染墨3 小时前
从零入门计算机网络系列(十二):HTTP长连接与会话管理详解——从Connection到Cookie与Session
linux·服务器·c++·tcp/ip·ubuntu·http·交互
kyriewen3 小时前
Skills 榜前 10 我全装了:只有 3 个能直接用
前端·javascript·程序员
海的透彻3 小时前
dockerfile如何快速构建容器(java服务)
java·开发语言
IT_陈寒3 小时前
当Java的hashCode遇上Lombok,我的缓存被全清了
前端·人工智能·后端
code2cat3 小时前
Java工具篇之Gradle:用任务图组织构建与交付
java·开发语言·单元测试·gradle
工控丫丫4 小时前
帆软看板中经常使用的公式函数及经常搭的组合
前端·javascript·数据库
xiaoye-duck4 小时前
《C++ 项目:手写大模型接入 SDK》DeepSeek接口设计(下):流式响应实现和测试
开发语言·网络·c++·语言模型