首页 > 其他分享 >XLSReadWriteII5--导入XLS

XLSReadWriteII5--导入XLS

时间:2024-03-12 17:13:14浏览次数:24  
标签:dm Parameters -- SP Value XLSReadWriteII5 Call XLS

var
FilePath,ic,fn,ZH0,ZH1:string;
ExlAPP,Sheet,Range:Variant;
Bname:string;
Ret,k,i:integer;
XLS:TXLSReadWriteII5;
begin
if RzTreeView1.Selected=nil then exit;
if RzTreeView1.Selected.Level<2 then
begin
showmessage('---请先选择具体项目!---');
exit;
end;
OpenDialog1.Filter:='excel文件(.xls)|.xls';
OpenDialog1.Execute();
if trim(OpenDialog1.FileName)='' then exit;

if not fileexists(OpenDialog1.FileName) then
begin
    showmessage('所选文件【'+Opendialog1.FileName+'】不存在!');
    exit;
end;
ZH0:=trim(RzTreeView1.Selected.Text);
FilePath:=Opendialog1.FileName;
XLS:=TXLSReadWriteII5.Create(nil);
XLS.Filename:=FilePath;
XLS.Read;

i:=StrToint(RzSpinEdit1.Text)-1;

K:=0;
while trim(XLS[0].asstring[2,i])<>'' do
begin
    BName:=XLS[0].AsString[2,i];
    RzLabel1.Caption:=' 正在导入:'+BName;
    dm.Call_SP.Close;
    dm.Call_SP.ProcedureName:='XSP_111CashBatIN';
    dm.Call_SP.Parameters.Refresh;
    dm.Call_SP.Parameters.ParamByName('@CID').Value:=dm.Auser.UserCID;
    dm.Call_SP.Parameters.ParamByName('@INO').Value:=RzTreeView1.Selected.Text;
    dm.Call_SP.Parameters.ParamByName('@Fcode').Value:=dm.Auser.Fcode;
    dm.Call_SP.Parameters.ParamByName('@Adate').Value:=XLS[0].AsString[6,i];
    dm.Call_SP.Parameters.ParamByName('@Adate0').Value:=XLS[0].AsString[7,i];
    dm.Call_SP.Parameters.ParamByName('@Adate1').Value:=XLS[0].AsString[8,i];
    dm.Call_SP.Parameters.ParamByName('@SName').Value:=XLS[0].AsString[1,i]+'--'+XLS[0].AsString[2,i];
    dm.Call_SP.Parameters.ParamByName('@DName').Value:=XLS[0].AsString[3,i]+'--'+XLS[0].AsString[4,i];
    dm.Call_SP.Parameters.ParamByName('@Tval').Value:=XLS[0].asstring[10,i];
    dm.Call_SP.Parameters.ParamByName('@Note').Value:=XLS[0].asstring[11,i];
    dm.Call_SP.Parameters.ParamByName('@BZ').Value:=XLS[0].asstring[9,i];
    dm.Call_SP.Parameters.ParamByName('@Oper').Value:=dm.Auser.UserID+'--'+dm.Auser.UserName;
    dm.Call_SP.ExecProc;
    ret:=dm.Call_SP.Parameters.Items[0].Value;
    dm.Call_SP.Close;
    if ret<>0 then
    begin
        showmessage('---数据导入出错!('+BName+')['+IntTostr(ret)+']---');
        inc(K);
    end;
    Inc(i);
end;
Screen.Cursor:=crDefault;
RzLabel1.Caption:=' 转换完毕!';
if K=0 then
BEGIN
     showMEssage('---导入成功!---');
     dm.QcxA.Close;
     dm.QcxA.Open;
END else showmessage('---导入有错,请检查数据!---');
XLS.Free;

标签:dm,Parameters,--,SP,Value,XLSReadWriteII5,Call,XLS
From: https://www.cnblogs.com/abcoder-Robert/p/18068738

相关文章

  • java8中,Arrays.sort()默认是升序的,对于基本数据类型,使其降序怎么实现
    对于引用数据类型,自定义比较器对象,实现Comparator接口/Comparable接口对于基本数据类型,自定义比较器对象,将基本数据类型转换成对应的包装类型即可但是这样写是错误的,importjava.util.Arrays;importjava.util.Comparator;publicclassSortExample{publicstatic......
  • 【计算机网络01】网卡——链接5G热点网速较慢问题解决方法。
    计算机网络:网卡一、网卡带宽查询二、高速带宽设置一.在电脑连接手机热点的时候,查询网络属性,找到网络频带是2.4GHz,带宽是72(Mbps):查找原因,发现是手机热点页面中AP频带设置的原因,AP频带设置成了2.4GHz:二.更改手机热点页面中AP频带,将AP频带设置成了5GHz频段:再在电......
  • 渲染农场:大规模渲染任务的高效处理方式
    在当今的数字内容创作领域,渲染农场是处理大规模渲染任务的关键技术,它利用多台计算机的集群来分担复杂的渲染工作,大大提高了效率和速度。这篇文章将深入探讨渲染农场的工作原理、技术架构,以及如何根据需求选择合适的渲染农场。一、渲染农场简介渲染农场是由众多计算机组成的网络......
  • Ubuntu Server 部署 FRP 反向代理
    踩坑记录第一次我使用Docker镜像snowdreamtech/frps部署frps,发现始终连不上去。在本地的Dockerlog中显示如下错误:2024-03-1217:02:312024/03/1209:02:31[I][root.go:142]startfrpcserviceforconfigfile[/etc/frp/frpc.toml]2024-03-1217:02:312024/03/12......
  • 【CentOS】Linux 或 Windows 上实现端口映射
    一、什么端口映射?端口映射:端口映射就是将内网中的主机的一个端口映射到外网主机的一个端口,提供相应的服务。当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上。我们在内网中有一台Web服务器,但是外网中的用户是没有办法直接访问该服务器的。于是我们可......
  • Qt QByteArray与int、float、vector互转
    QByteArray的转换一般在串口通信中常用,将int、float、double转换为4个字节的数组(如255->[0,0,0,255],本文章一律用10进制表示),或将4个字节的数组转换为int、float、double(如[0,0,0,255]->255)。在QT界面中的使用流程,笔者总结为以下思路:从上位机发送一帧指令到串口(封包、根据具体......
  • 深入理解 ELK 中 Logstash 的底层原理 + 填坑指南
    深入理解ELK中Logstash的底层原理+填坑指南<imgsrc="https://pic4.zhimg.com/v2-3afecd9bcad8087524ef7db1f8f51abf_b.jpg"data-rawwidth="722"data-caption=""data-size="normal"data-rawheight="500"class="origi......
  • 微信小程序之导出页面为doc文件
    微信小程序:需求将一个类似报表的页面点击下载导出问xxx.doc文件。1.写入文件导出由于微信小程序的限制;将导出的功能放到node服务上。使用fs直接将html文本模板写入doc文件后返回下载地址 //生成下载文件,并返回名称app.post('/getFile',(req,res)=>{constdata......
  • 7-15 报数(留个题目,还没写代码)
    7-15报数分数10作者王秀单位福州大学输入两个正整数n和m((1<m<n<=50)),有n个人围成一圈,按顺序从1到n编号。从第一个人开始报数,报数m的人退出圈子,下一个人从1开始重新报数,报数m的人退出圈子。如此循环,直到留下最后一个人。请按退出顺序输出退出圈子的人的编号......
  • django中使用celery
    b站视频地址:https://www.bilibili.com/video/BV1Di4y1d7AD/?spm_id_from=333.337.search-card.all.click&vd_source=2bb64c37f92f4879fab81cd58822718c1.目的:异步操作,用户无需等待任务执行,告诉用户任务已经提交。2.用户访问触发函数(生产者),然后调度worker异步执行任务(消费者)注......