2022年delphi读取电子表格 .pdf
《2022年delphi读取电子表格 .pdf》由会员分享,可在线阅读,更多相关《2022年delphi读取电子表格 .pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、delphi7读取 excel 我有一个excel 文件,第一行是某项目预算表,第二行有分公司、项目名,第三行是材料、数量、 单价、金额等列标题,往下就是具体的数据,请问我怎么读取哪些具体数据呀?我以前见过一个软件,可以在表格中打开excel 文件,然后可以删除excel 的前后几行,只留下规则的中间部分 (实际的excel 文件中这几行并没删除),不知道怎么可以实现这样的功能用 ole 可以解决用 ole 读 excel :会读了后,你自己处理一下要读的数据就行了var I, J: Integer; MaxRow, MaxCol: Integer; List, Strs: TStringLi
2、st; ExcelApp, Sheet: Variant; OldTime: TDateTime; begin List := TStringList.Create; Strs := TStringList.Create; / 创建一个excel 的 ole 对象ExcelApp := CreateOleObject( Excel.Application ); try / 打开一个excel 文件ExcelApp.WorkBooks.Open(Edit1.Text); List.BeginUpdate; try / 设置工作区ExcelApp.WorkSheets1.Activate; She
3、et := ExcelApp.WorkSheets1; / 有数据的区域的行数和列数MaxRow := Sheet.UsedRange.Rows.count - 1; MaxCol := Sheet.UsedRange.Columns.count; for I := 2 to MaxRow do begin Strs.Clear; for J := 1 to MaxCol do begin / 获得 excel 的数据第i 行,第 j 列单元格内的数据名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - -
4、- - - 第 1 页,共 9 页 - - - - - - - - - Strs.Add(Sheet.Cellsi, j.Value); end; List.Add(Strs.CommaText); end; finally / 关闭工作区ExcelApp.WorkBooks.Close; List.EndUpdate; end; finally / 释放 ole 对象ExcelApp.Quit; List.Free; Strs.Free; end; end; 用 delphi 提供的 excelapplication读,在 servers 选项卡里var I, J: Integer; Max
5、Row, MaxCol: Integer; List, Strs: TStringList; sheet: ExcelWorksheet; OldTime: TDateTime; XlsCell: string; begin List := TStringList.Create; Strs := TStringList.Create; / 连接ExcelApplication1.Connect; try ExcelApplication1.Visible1 := False; / 打开一个excel 文件,文件名是edit.text ExcelApplication1.Workbooks.Op
6、en(Edit1.Text, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 9 页 - - - - - - - - - EmptyParam, EmptyParam, 0); List.
7、BeginUpdate; try /ExcelApplication1.WorkSheets1.Activate; Sheet := ExcelApplication1.WorkSheets1 as ExcelWorksheet; MaxRow := Sheet.UsedRange1.Rows.count - 1; MaxCol := Sheet.UsedRange1.Columns.count; for I := 2 to MaxRow do begin Strs.Clear; for J := 1 to MaxCol do begin XlsCell := ColRowNumToStr(J
8、, I); Strs.Add(Sheet.RangeXlsCell, XlsCell.Text); end; List.Add(Strs.CommaText); end; finally ExcelApplication1.WorkBooks.Close(1); List.EndUpdate; end; finally ExcelApplication1.Disconnect; List.Free; Strs.Free; end; end; 还有一些第三方的表格控件可以直接读取excel 的数据的网上搜下,这方面东西太多了名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
9、 - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - - - - - - - - Delphi中使用 ADO 连接 Excel有感By panther666 今天在 Delphi中使用 ADO 连接 Excel( 以前在一本书看过,复习一下-_-!),有所收获,不敢独享。第一部分:1. 设置 ADOConnection的 ConnectionString属性的 OLE DB的提供者要选择Microsoft Jet 4.0 OLE DB Provider(这本来是用于连接Access数据库的驱动程序,但也可打开Excel文件 ), 按
10、 下一步 按钮2. 选择数据库名称。注意:Excel的扩展名是 *.xls,而默认文件类型是Microsoft Access 数据库 (*.mdb), 我们就选择 全部文件 (*.*)吧,接着选择我们要连接的Excel文件咯!如果在当前路径,就直接填2007.xls。这时先别慌按 测试连接 按钮 ,不然会出现错误对话框的。可以试试看,了解一下_ 3. 在 所有 选项卡中找到Extended Properties,双击它或者按 编辑值 按钮,设置Extended Properties为Excel 8.0 。4. 我们返回 连接 选项卡,按 测试连接 按钮。测试连接成功!_ 最后,设置完成后的Co
11、nnectionString中的各项参数为:Provider=Microsoft.Jet.OLEDB.4.0 Data Source=2007.xls / 因为在当前路径Extended Properties=Excel 8.0 Persist Security Info=False 第二部分:接着就用ADOTable,ADODataSet和 ADOQuery连接到刚才的ADOConnection,当然你可以直接设置ADOTable,ADODataSet或 ADOQuery的 ConnectionString属性。1. ADOTable设置:a. ADOTable的 TableName属性值:
12、系统自动生成Excel的 Sheet1$,Sheet2$和Sheet3$。直接 Active设置成 true, 系统会报告SQL 语句格式错误等信息。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 9 页 - - - - - - - - - b. 找到 TableDirect属性,设置为True 。因为,访问Excel文件是直接的数据文件访问,不是通过SQL 语句来操作游标访问的。接着将Active设置成 true 。成功了!_ c. 可以不使用TableDirect属性
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年delphi读取电子表格 2022 delphi 读取 电子表格
限制150内