delphi7怎样读取excel文件.doc
文本预览下载声明
delphi7如何读取excel文件
我有一个excel文件,第一行是某项目预算表,第二行有分公司、项目名,第三行是材料、数量、单价、金额等列标题,往下就是具体的数据,请问我怎么读取哪些具体数据呀?我以前见过一个软件,可以在表格中打开excel文件,然后可以删除excel的前后几行,只留下规则的中间部分(实际的excel文件中这几行并没删除),不知道怎么可以实现这样的功能
用ole可以解决
用ole读excel:会读了后,你自己处理一下要读的数据就行了?var?I, J: Integer;?MaxRow, MaxCol: Integer;?List, Strs: TStringList;?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.WorkSheets[1].Activate;?Sheet := ExcelApp.WorkSheets[1];?// 有数据的区域的行数和列数?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列单元格内的数据?Strs.Add(Sheet.Cells[i, 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;?MaxRow, MaxCol: Integer;?List, Strs: TStringList;?sheet: ExcelWorksheet;?OldTime: TDateTime;?XlsCell: string;?begin?List := TStringList.Create;?Strs := TStringList.Create;?// 连接?ExcelApplication1.Connect;?try?ExcelApplication1.Visible[1] := False;?// 打开一个excel文件,文件名是edit.text?ExcelApplication1.Workbooks.Open(Edit1.Text,?EmptyParam, EmptyParam, EmptyParam, EmptyParam,?EmptyParam, EmptyParam, EmptyParam, EmptyParam,?EmptyParam, EmptyParam, EmptyParam, EmptyParam,?EmptyParam, EmptyParam, 0);?List.BeginUpdate;?try?//ExcelApplication1.WorkSheets[1].Activate;?Sheet := ExcelApplication1.WorkSheets[1] as ExcelWorksheet;?MaxRow := Sheet.UsedRange[1].Rows.count - 1;?MaxCol := Sheet.UsedRange[1].Columns.count;?for I := 2 to MaxRow do?begin?Strs.Clear;?for J := 1 to MaxCol do?begin?XlsCell := ColRowNumToStr(J, I);?Strs.Add(Sheet
显示全部