Delphi 导入 Execl
打开过滤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相关推荐
- php导入关系表,PHP导入Execl表到数据库
PHP导入Execl表到数据库 /** * 上传文件 */ function uploadFileforExcel() { // 允许上传的图片后缀 //$allowedExts = array(&q ...
- sqlserver导入execl数据ACE.OLEDB.12.0错误
公司这几天又现需求,需要在sqlserver2008导入execl文件 但是97-2003的格式就可以就是(*.xls) 但是2007的(*.xlsx)就报以下的错误 经过测试,解决的办法是安装Acc ...
- EXECL导入(检查服务器版本.包括NPOI方式导入.可以通过配置文件信息导入EXECL)代码记录下....
在工作中很多要把EXECL的数据取出来的情况,因此,写一个相对通用的这种功能类很有必要.我因为当时只考虑了引用MS的EXECL类的情况,所以后面加入NPOI时这个类就有点显乱了,因为已经有人在用了,只 ...
- 一个坑爹的软件在导入execl时报打开Excel文件出错:Microsoft Jet 数据库引擎找不到对象错误。
今天在测试软硬件通讯时候遇到的问题. 打开Excel文件出错:Microsoft Jet 数据库引擎找不到对象'通信录$A1:IV65536'.请确定对象是否存在,并正确地写出它的名称和路径. 背景: ...
- 使用Navicat导入execl到mysql数据库中日期值显示0000-00-00的问题解决
最近有一批excel数据需导入mysql库中,使用Navicat导入向导导入后发现表中的日期字段值都为0000-00-00,经过测试排查发现原来是导入过程中日期分隔符与excel中的日期字段分隔符不匹 ...
- delphi导入oracle数据库,Oracle数据库自动备份工具(Delphi源码)
Oracle数据库自动备份工具(Delphi源码) 下载地址:http://www.blogjava.net/Files/96sd2/OraSvr.rar 『OracleBackupService』简 ...
- postgres导入excel_PostgreSQL导入Execl表格方法
今天尝试导入Excel表格,遇到了一些问题,现将导入步骤以及问题总结如下: 一.导入步骤: 1.在数据库中新建表格,字段与Excel顺序相同(或者有多余字段在最后): 2.处理Excel表格,先将Ex ...
- python自动化爬取淘宝商品数据导入execl表格!
hello,大家好,我是夜斗小神社! 电商时代,淘宝.京东.天猫商品数据对店铺运营有极大的帮助,因此获取相应店铺商品的数据能够带来极大的价值,那么我们如何获取到相应的数据呢? 上一篇我们讲了pytho ...
- 获取QQ信息导入execl、存redis、下载头像
# http://q4.qlogo.cn/g?b=qq&nk=1049328922&s=140 #这个是获取头像的url# 1.请求qq群的接口,实现传入一个群号# 2.把群里每个人的 ...
最新文章
- 通过Python在Windows或Linux上快速搭建HTTP服务器
- 使用WPF动画编程的几点注意事项[转]
- Angular CLI创建的项目文件用途一栏
- java中 移位运算_java中关于移位运算符的demo与总结(推荐)
- smarty 引用php类,smarty 的PHP引用
- ubuntu16.04安装 java JDK8
- Mac上使用exiftool生成XMP文件的方法
- php 工业通讯录,PHP 制作通讯录(六)
- ukey网络连接异常_连接UKEY设备失败如何解?电子支付OCX – 手机爱问
- KeilC51基本关键字
- android换肤的实现方案,Android换肤技术总结
- 用这个方法解决Python多版本共存问题,简单粗暴
- Zotero实现双电脑+云端同步—Zotfile、坚果云
- 小说名词解释:种田派
- Excel的一些函数操作
- 从安装包中提取wear OS手表端应用
- 完美世界16.65亿出售院线业务;共享床位涉黄被下线;宜家创始人去世丨价值早报
- Springboot实现多线程及线程池监控
- Kotlin学习的简易练手
- Kotlin开发第四天,探究Fragment