首页 > 数据库 >UniGUI 将Excel表上传,并将数据导入SQL(转)

UniGUI 将Excel表上传,并将数据导入SQL(转)

时间:2024-02-04 17:23:33浏览次数:37  
标签:UniGUI jyschq UniMainModule Excel fd Sheets SQL Params XLS

UniGUI 将Excel表上传,并将数据导入SQL(转)

采用第三方控件XLSReadWriteII实现导入数据的办法

1、首先将Excel文件上传至服务器;

在表单中添加UniFileUpload和XLSReadWriteII控件

procedure Tck_tz.UniLabel4Click(Sender: TObject);
begin
  UniFileUpload1.Execute;
end;

2、用XLSReadWriteII在服务器上将Excel文件中的数据导入SQL数据表

UniFileUpload1Completed中加入如下代码

procedure Tck_tz.UniFileUpload1Completed(Sender: TObject; AStream: TFileStream);
 var
  DestName,DestFolder,j : string;
  iR,i: Integer;
 
begin
inherited;
  DestFolder:=UniServerModule.StartPath+'UploadFolder\';
  DestName:=DestFolder+ExtractFileName(UniFileUpload1.FileName);
  xls.Filename:=destname;
  xls.Read;
 
  try
     i:=XLS.Sheets[0].FirstRow+2;//去除标题信息
     ir:=2;
     uniMainModule.fd_jyschq.SQL.Text := 'insert into jyschq(jyhqr,scnd,pici,gdzl,jgdw,js,cczt) values (:p1, :p2, :p3,:p4,:p5,:p6,:p7)';
     UniMainModule.fd_jyschq.Params.ArraySize := XLS.Sheets[0].LastRow;
     for i := 0 to UniMainModule.fd_jyschq.Params.ArraySize - 1 do
     begin
       UniMainModule.fd_jyschq.Params[0].AsStrings[i] :=XLS.Sheets[0].AsVariant[3,iR];
      UniMainModule.fd_jyschq.Params[1].AsStrings[i] := XLS.Sheets[0].AsFmtString[5,iR];
      UniMainModule.fd_jyschq.Params[2].AsStrings[i] :=XLs.Sheets[0].AsFmtString[1,iR];
      UniMainModule.fd_jyschq.Params[3].Values[i] :=XLS.Sheets[0].AsFmtString[8,iR];
      UniMainModule.fd_jyschq.Params[4].Values[i] :=XLS.Sheets[0].AsFmtString[16,iR];
      UniMainModule.fd_jyschq.Params[5].Values[i] :=XLS.Sheets[0].AsFmtString[6,iR];
      UniMainModule.fd_jyschq.Params[6].Values[i] :=XLS.Sheets[0].AsFmtString[13,iR];
      ir:=ir+1;
    end;
    UniMainModule.fd_jyschq.Execute(UniMainModule.fd_jyschq.Params.ArraySize, 0);
    showmessage('数据导入成功!!!');
  except
  XLS.Free;
  end;
  if Assigned(XLS) then
  begin
    XLS.Destroy;
  end;
end;

原文链接

标签:UniGUI,jyschq,UniMainModule,Excel,fd,Sheets,SQL,Params,XLS
From: https://www.cnblogs.com/qiao-fu/p/18006611

相关文章

  • EasyExcel读取resources下多个excel文件的解决办法
    最近新的业务是需要读取resources下的excel文件并入库,没有做过类似的所以踩了很多坑话不多说开始:使用ResourcePatternResolver解析该目录下的多个excel文件  读取之后直接使用EasyExcel读取文集文件并且转换为实体对象,这里只需要注意些一个ExcelListener()监听器,具体怎么写这......
  • 关于UniGui 的UniDateTimePicker控件显示问题
    关于UniGui的UniDateTimePicker控件显示问题本人在使用UniGuiUniDateTimePicker控件的显示问题:在UniForm上使用UniDateTimePicker,显示正常。但在Unigrid的列中使用,就出现显示问题,如下图:解决办法:将UniDateTimePicker的属性usesystemformat设置为True,即可显示正常。如下......
  • SpringBoot连接MySQL
    一、文件结构: 二、实体类packagecom.example.demo.domain;importjava.io.Serializable;importjavax.persistence.Column;importjavax.persistence.Entity;importjavax.persistence.GeneratedValue;importjavax.persistence.Id;importjavax.persistence.Table;......
  • [office] excel sumproduct函数如何多条件求和
    1.打开含有模拟数据的EXCEL工作表;2.为工作方便,我们先将数据区定义名称,选中F2:F22,将名称定义为“销售额”;3.将E2:E22定义为“商品数据”;4.将D2:D22定义为“区域数据”;5.将C2:C22定义为“项目数据”;相关推荐:《excel基础教程》6.将B2:B22定义为“姓名数据”;7.将A2:A22定义为“月数据......
  • [office] 如何禁止修改excel函数内容公式?
    第一步,点击左上角“全选”按钮,设置单元格格式→保护→取消“锁定”复选框。第二步,按F5→定位→公式→设置单元格格式→保护→勾选“锁定”复选框。第三步,工具→保护→保护工作表。说明:保护工作表只对有“锁定”的单元格有效,“隐藏”可以让人不能看到公式的具体情况......
  • 使用net core 6 c# 的 NPOI 包,读取excel..xlsx单元格内的图片 和悬浮的图片,并存储到指
    抄的两个前辈的代码,反正是实现了https://www.cnblogs.com/IT-Ramon/p/13100039.htmlhttps://www.cnblogs.com/zhaocici/p/16434320.html合并了两个代码的功能,反正能用他们是在web上用,我是在桌面程序上用,小改一下就可以用了点击查看代码usingICSharpCode.SharpZipLib.Zip;......
  • 探寻SQL的背后机制
    探寻SQL的背后机制前言在数据领域,SQL(StructuredQueryLanguage)是一门广泛使用的语言,用于查询和处理数据。你可能已经使用过诸如MySQL、Hive、ClickHouse、Doris、Spark和Flink等工具来编写SQL查询。每一种框架都提供了对应的SQL语法,可以帮助我们从庞大的数据集中提取所需的信息,但......
  • mysql中grant all privileges on赋给用户远程权限方式
    GRANTALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBY'root'WITHGRANTOPTION;FLUSH PRIVILEGES;允许MySQL账户远程访问的优点和缺点如下:优点:远程管理:允许远程访问意味着管理员可以从任何地方管理MySQL数据库,提高了灵活性和便利性。分布式应用:对于分布式......
  • 金额转换pgsql存储过程
    CREATEORREPLACEFUNCTIONamount_to_words(amountNUMERIC,currencyTEXT)RETURNSTEXTLANGUAGEplpgsqlAS$$DECLAREunitsTEXT[]=ARRAY['zero','one','two','three','four','five','six&......
  • 【Docker】使用Docker部署MySQL
    ✨Docker本文介绍DockerDesktop以及docker命令行的简单使用DockerDesktop安装使用请查阅官方文档GetDocker|DockerDocumentation在Windows上安装DockersDesktop可参考【Docker】DockerDesktopforWindows(WSL2)安装-双份浓缩馥芮白-博客园(cnblogs.com)似乎......