Delphi中对Excel表格文件的导入和导出操作。
首先,Delphi要在Uses部分,把要使用的外部程序的类写入。在这里,我们把“ExtCtrls,ComObj”写入Uses部分。
将Listview列表中的数据导入到Excel文件中。
procedure TfreadExcel.WriteExcel;
vari,idex : Integer;ExcelApp:Variant;
begintrydlgSave.FileName := '学生信息.xls';if dlgSave.Execute thenbeginif FileExists(dlgSave.FileName) thenbegintryif application.messagebox('该文件已经存在,要覆盖吗?','询问',mb_yesno+mb_iconquestion) = idyes thenbeginDeleteFile(PChar(dlgSave.FileName));endelsebegindlgSave.free;Exit;end;exceptdlgSave.free;Exit;end;end;tryExcelApp:=CreateOleObject('Excel.Application');ExcelApp.Caption:='应用程序调用 Microsoft Excel';ExcelApp.WorkBooks.Add; //新增工作簿exceptApplication.MessageBox('无法调用Excel!','提示',MB_OK);Exit;end;tryidex := 1;for i:=0 to rzlvshow.Items.Count-1 dobeginExcelApp.Cells[idex,1].Value:=rzlvshow.Items[i].SubItems.strings[0];ExcelApp.Cells[idex,2].Value:=rzlvshow.Items[i].SubItems.strings[1];ExcelApp.Cells[idex,3].Value:=rzlvshow.Items[i].SubItems.strings[2];ExcelApp.Cells[idex,4].Value:=rzlvshow.Items[i].SubItems.strings[3];ExcelApp.Cells[idex,5].Value:=rzlvshow.Items[i].SubItems.strings[4];ExcelApp.Cells[idex,6].Value:=rzlvshow.Items[i].SubItems.strings[5];ExcelApp.Cells[idex,7].Value:=rzlvshow.Items[i].SubItems.strings[6];idex := idex+1;end;if ExcelApp.Worksheets[1].SaveAs(dlgSave.FileName)=0 thenbeginApplication.MessageBox('数据导出成功!','导出提示',MB_OK);end;finallyExcelApp.Quit;end;end;exceptApplication.MessageBox('保存xls文件失败!','提示',MB_OK);Exit;end;
end;
将Excel数据导入到Listivew列表中:
procedure TfreadExcel.ReadExcel;
varExcelApp : Variant;WorkBook : OLEVARIANT;ExcelRowCount : Integer;item :TListItem;i,num : Integer;begintryif dlgOpen.Execute thenbegintrynum := 0;ExcelApp := CreateOLEObject('Excel.Application');exceptApplication.MessageBox('excel没有安装', '提示信息', MB_OK+MB_ICONASTERISK+MB_DEFBUTTON1+MB_APPLMODAL);Exit;end;rzlvshow.Items.Clear;//对ListView先进行清空WorkBook := ExcelApp.WorkBooks.Open(dlgOpen.FileName);//使用opendialog对话框指定ExcelApp.Visible := false;ExcelRowCount := WorkBook.WorkSheets[1].UsedRange.Rows.Count; //获取Excel的行数SetLength(theArray, ExcelRowCount);for i := 1 to ExcelRowCount dobeginitem := rzlvshow.Items.Add;item.Data := Pointer(i);theArray[num].agreement_id := Trim(excelapp.Cells[i,1].Value); //主协议编号theArray[num].asset_id := Trim(excelapp.Cells[i,2].Value); //资产单元编号theArray[num].allot_no := Trim(excelapp.Cells[i,3].Value); //申请书编号theArray[num].frozen_adjustfare := excelapp.Cells[i,4].Value; //本金theArray[num].init_date := excelapp.Cells[i,5].Value; //交易日期theArray[num].remark := Trim(excelapp.Cells[i,6].Value); //备注item.SubItems.Add(IntToStr(num+1));item.SubItems.Add(theArray[num].agreement_id);item.SubItems.Add(theArray[num].asset_id);item.SubItems.Add(theArray[num].allot_no );item.SubItems.Add(FloatToStr(theArray[num].frozen_adjustfare));item.SubItems.Add(IntToStr(theArray[num].init_date));item.SubItems.Add(theArray[num].remark);num := num + 1;end;if ExcelRowCount=num thenbeginApplication.MessageBox('数据导入完成!','提示',MB_OK);end;WorkBook.close;ExcelApp.Quit;end;exceptApplication.MessageBox('文件打开失败!','提示',MB_OK);end;
end;
获得Excel的行和列数:
ExcelRowCount : Integer;ExcelColCount : Integer;ExcelRowCount := WorkBook.WorkSheets[1].UsedRange.Rows.Count; //获取Excel的行数ExcelColCount := WorkBook.WorkSheets[1].UsedRange.columns.Count; //获取Excel的列数
对Excel文件的导入和导出就先介绍到这里,欢迎大家光临,如果哪里有讲错的请及时联系我 : 新浪邮箱:chao_song2011@sina.cn qq:1574203887
Delphi中对Excel表格文件的导入和导出操作。相关推荐
- php导出excel格式文件,PHP导入与导出Excel文件的方法
一.PHP导出Excel文件 1,推荐phpexcel,官方网站: http://www.codeplex.com/PHPExcel 导入导出都成,可以导出office2007格式,同时兼容2003 ...
- Java中Excel表格数据的导入和导出步骤和方法
Java Excel API既可以从本地文件系统的一个文件(.xls),也可以从输入流中读取Excel数据表.读取Excel数据表的第一步是创建Workbook(术 语:工作薄),下面的代码片段举例说 ...
- Java中Excel表格数据的导入与导出
该指南的发布为当前svn主干提供了功能.那些在以前版本中查找信息的人应该查看发布的文档. HSSF允许从XLS文件中写入或读取数字.字符串.日期或公式单元格值.在这个版本中,还包括行和列的大小.单元样 ...
- vue实现纯前端导入与解析excel表格文件,导出Excel
一.安装相关依赖 npm install --save xlsx file-saver 二.使用 import * as XLSX from 'xlsx/xlsx.mjs' const FileSav ...
- word文档中找不到服务器,【在WORD文件中插入excel表格,编辑保存后重新打开word文件并双击excel时提示“找不到服务器应用程序、源文件】excel整个表格不见了...
为什么PPT插入EXCEL表格时显示无法找到服务器应用程序 这是由于excel或者ppt只能兼容.低版本的ppt和excel是无法打版本excel插入的表格的. 解决如下: 1.新建一个文本,将后缀名 ...
- 如何将EXCEL表格的内容导入到CDR中?
CDR中能做表格?答案是肯定的,而且方法不止一种,比如利用图纸工具或者表格工具.现在教大家一个更快捷.简单的方法,将Excel表格直接导入到CDR软件,立刻完成你的表格绘制,而且还可以导入内容,并且能 ...
- 点击展开 表格_CAD怎么将excel表格的数据导入并且实时更新?
打造带着微信干工程的实用公众号!欢迎关注本公众号! 小编推荐好文 筑龙至尊套餐 | 全套施工技能培训视频 | 免费分享 全套工程视频合集 | 交底学习必备 | 部分可下载 全套质量通病及防治 | 联盟 ...
- 手把手教你用java读写excel表格文件(POI,EasyExcel)
视频链接-我是学习之星我为狂神打call~ [狂神说Java]POI及EasyExcel一小时搞定通俗易懂 想给项目添加一个表格导入导出功能吗? "xxx管理系统"没有导入导出功能 ...
- 使用PHPExcel实现Excel文件的导入和导出(模板导出)
在之前有写过一篇文章讲述了使用PHP快速生成excel表格文件并下载,这种方式生成Excel文件,生成速度很快,但是有缺点是: 1.单纯的生成Excel文件,生成的文件没有样式,单元格属性(填充色,宽 ...
最新文章
- android os被删除怎么办,手机系统应用误删了怎么办 如何修复手机异常【详细介绍】...
- SOAR SQL进行优化和改写的自动化工具
- 借助Fiddle使用不同版本的UI5库文件进行测试
- 过Postfix构建Exchange Server 2010邮件网关部署系列三:安装Exchange 2010先决性条件
- 用于打开和创建SQLite,Microsoft SQL Server,PostgreSQL和MySQL SQL数据库的WPF对话框
- mysql 当前用户连接数,查看mysql当前连接数的方法详解
- 【apache】phpstudy中apache 隐藏入口文件index.php (解决no input file specified错误)
- soapui直接下载响应内容为本地的文件
- codesmith for java_codesmith 入门介绍【转载】
- android 小游戏心得、,iOS/安卓版《辐射:避难所(Fallout Shelter)》攻略心得:玩法要点详解与心得技巧...
- 6大Word编辑高级技巧,制作文档又快又好看
- k8s可视化管理工具Rancher安装和使用
- python统计红楼梦人物出场次数_《红楼梦》人数统计,人物,出场,次数
- 基于51单片机的简易电梯系统的设计
- Apache Hive实战基础
- 嵌入式硬件开发之三——绘制原理图
- Informatica基础系列(二)——更新策略转换组件
- 301 Moved Permanently解决
- xctf攻防世界pwn基础题解(新手食用)
- 缓存解释(一级缓存,二级缓存)
热门文章
- 文件右键菜单没有“授予访问权限”选项
- 动画学习记录: SVG文字动画
- 脏牛(Dirty COW)漏洞攻击实验(SEED-Lab:Dirty-COW Attack Lab)
- java 图片批量上传_SpringBoot 2.0 图片上传(支持批量上传)
- 中国传统文化常识集锦(经典)
- ts 格式化日期输出
- oracle 整库同步报错
- java 乱码怎么是繁体字_[求助]怎么是乱码,里面好多繁体汉字
- IDEA:警告:SQL dialect is not configured
- HashAlgorithm哈希算法信息