打开过滤Execl表格

uses ComObj;

procedure TForm1.cxButtonEdit1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
varOpenDlg: TOpenDialog;strFileName: string;
beginOpenDlg := TOpenDialog.Create(nil);tryOpenDlg.Filter := 'execl|*.xls;*xlsx';OpenDlg.Title := '打开Excel文件';OpenDlg.FileName := '';
//    OpenDlg.DefaultExt := '*.xls;*.xlsx';if OpenDlg.Execute thenbeginstrFileName := Trim(OpenDlg.FileName);if strFileName <> '' thenbegined_dir.Text := strFileName;end;end;finallyFreeAndNil(OpenDlg);end;
end;

导入Execl内容处理

procedure TForm1.bt_importClick(Sender: TObject);
varExcelApp: Variant;rowcount, colcount, i, j: Integer;w: TWideStringField;CdsTmp: TClientDataSet;
beginscreen.Cursor := crHourGlass;try// 创建一个excel的ole对象ExcelApp := CreateOleObject('Excel.Application');// 打开一个excel文件ExcelApp.WorkBooks.Open(ed_dir.Text);ExcelApp.worksheets[1].Activate;rowcount := ExcelApp.worksheets[1].UsedRange.Rows.Count; //获取表格行colcount := ExcelApp.worksheets[1].UsedRange.Columns.Count; //获取表格列if colcount > 0 thenbegintryCdsTmp := TClientDataSet.Create(nil);CdsTmp.Close;CdsTmp.FieldDefs.Clear;//获取字段标题for i := 1 to colcount dobeginw := TWideStringField.Create(CdsTmp);w.Name := ExcelApp.Cells[1, i].value;w.FieldName := ExcelApp.Cells[1, i].value;w.DataSet := CdsTmp;w.FieldKind := fkdata;
//        w.Size := CDS.Fields[i].Size;end;CdsTmp.CreateDataSet;CdsTmp.Open;CdsExecl.DisableControls;//获取表格值for i := 2 to rowcount dobeginCdsTmp.Append;for j := 1 to colcount dobeginCdsTmp.FieldByName(ExcelApp.Cells[1, j].value).AsString := ExcelApp.Cells[i, j].value;end;end;CdsTmp.Post;CdsExecl.Data := CdsTmp.Data;finallyCdsExecl.EnableControls;CdsTmp.Free;end;end;finallySCREEN.CURSOR := CRDEFAULT;ExcelApp.WorkBooks.Close;ExcelApp.Quit;end;
end;

导入效果

剩下就在Delphi中处理数据,要修改,要保存就自行处理。

给自己看的笔记。

Delphi 导入 Execl相关推荐

  1. php导入关系表,PHP导入Execl表到数据库

    PHP导入Execl表到数据库 /** * 上传文件 */ function uploadFileforExcel() { // 允许上传的图片后缀 //$allowedExts = array(&q ...

  2. sqlserver导入execl数据ACE.OLEDB.12.0错误

    公司这几天又现需求,需要在sqlserver2008导入execl文件 但是97-2003的格式就可以就是(*.xls) 但是2007的(*.xlsx)就报以下的错误 经过测试,解决的办法是安装Acc ...

  3. EXECL导入(检查服务器版本.包括NPOI方式导入.可以通过配置文件信息导入EXECL)代码记录下....

    在工作中很多要把EXECL的数据取出来的情况,因此,写一个相对通用的这种功能类很有必要.我因为当时只考虑了引用MS的EXECL类的情况,所以后面加入NPOI时这个类就有点显乱了,因为已经有人在用了,只 ...

  4. 一个坑爹的软件在导入execl时报打开Excel文件出错:Microsoft Jet 数据库引擎找不到对象错误。

    今天在测试软硬件通讯时候遇到的问题. 打开Excel文件出错:Microsoft Jet 数据库引擎找不到对象'通信录$A1:IV65536'.请确定对象是否存在,并正确地写出它的名称和路径. 背景: ...

  5. 使用Navicat导入execl到mysql数据库中日期值显示0000-00-00的问题解决

    最近有一批excel数据需导入mysql库中,使用Navicat导入向导导入后发现表中的日期字段值都为0000-00-00,经过测试排查发现原来是导入过程中日期分隔符与excel中的日期字段分隔符不匹 ...

  6. delphi导入oracle数据库,Oracle数据库自动备份工具(Delphi源码)

    Oracle数据库自动备份工具(Delphi源码) 下载地址:http://www.blogjava.net/Files/96sd2/OraSvr.rar 『OracleBackupService』简 ...

  7. postgres导入excel_PostgreSQL导入Execl表格方法

    今天尝试导入Excel表格,遇到了一些问题,现将导入步骤以及问题总结如下: 一.导入步骤: 1.在数据库中新建表格,字段与Excel顺序相同(或者有多余字段在最后): 2.处理Excel表格,先将Ex ...

  8. python自动化爬取淘宝商品数据导入execl表格!

    hello,大家好,我是夜斗小神社! 电商时代,淘宝.京东.天猫商品数据对店铺运营有极大的帮助,因此获取相应店铺商品的数据能够带来极大的价值,那么我们如何获取到相应的数据呢? 上一篇我们讲了pytho ...

  9. 获取QQ信息导入execl、存redis、下载头像

    # http://q4.qlogo.cn/g?b=qq&nk=1049328922&s=140 #这个是获取头像的url# 1.请求qq群的接口,实现传入一个群号# 2.把群里每个人的 ...

最新文章

  1. 通过Python在Windows或Linux上快速搭建HTTP服务器
  2. 使用WPF动画编程的几点注意事项[转]
  3. Angular CLI创建的项目文件用途一栏
  4. java中 移位运算_java中关于移位运算符的demo与总结(推荐)
  5. smarty 引用php类,smarty 的PHP引用
  6. ubuntu16.04安装 java JDK8
  7. Mac上使用exiftool生成XMP文件的方法
  8. php 工业通讯录,PHP 制作通讯录(六)
  9. ukey网络连接异常_连接UKEY设备失败如何解?电子支付OCX – 手机爱问
  10. KeilC51基本关键字
  11. android换肤的实现方案,Android换肤技术总结
  12. 用这个方法解决Python多版本共存问题,简单粗暴
  13. Zotero实现双电脑+云端同步—Zotfile、坚果云
  14. 小说名词解释:种田派
  15. Excel的一些函数操作
  16. 从安装包中提取wear OS手表端应用
  17. 完美世界16.65亿出售院线业务;共享床位涉黄被下线;宜家创始人去世丨价值早报
  18. Springboot实现多线程及线程池监控
  19. Kotlin学习的简易练手
  20. Kotlin开发第四天,探究Fragment

热门文章

  1. 03-基础篇3:正念的练习
  2. OWASP API安全Top 10
  3. 建筑八大员培训湖北劳务员培训我国与德国的建筑劳务派遣对比
  4. 50136142WXY的坑爹百度地图
  5. java 打印byte数组内容_java中打印byte数组
  6. 【如何学习网安(浅谈)】
  7. MacBook Pro(13 英寸,2011 年末)A1278 满血复活记(安装Catalina和Windows11双系统)
  8. ubuntu升级内核到指定版本
  9. 超声波清洗机振子换能器设计
  10. 原码、反码、补码(8位二进制数)