导入Excel文件

Procedure TForm26.GetExcel;    
  var
  ExcelApp: Variant;
  ExcelWorkbook: Variant;
  fileName: string;begin
  fileName := edExcelFileName.Text;
  ExcelWorksheet : Variant;

  try
    ExcelApp := CreateOleObject( 'Excel.Application' );              //创建Excel文件
  Except
    Exit;
  End;
  ExcelApp.Visible :=false;
  try
    ExcelWorkbook := ExcelApp.WorkBooks.Open(edExcelFileName.Text);        //打开一个Excel文件
  except
    ExcelApp.Quit;
    Exit;
  end;
  if AnsiCompareText(GetCurrentDir , ExtractFilePath(fileName)) <> 0 then
  begin
    SetCurrentDir(ExtractFilePath(fileName));
  end;
  ExcelWorksheet := ExcelWorkbook.Sheets[1];             //得到Excel文件的第一个工作表
  row := RowCount(ExcelWorksheet);                           //得到行数
  col := ColCount(ExcelWorksheet);           //得到列数
  ExcelApp.Quit;                                                          //关闭Excel
end;

function TForm26.ColCount(ExcelWorksheet: Variant): Integer;
var
  col: Integer;
begin
  col := 1;
  while true do
  begin
    if trim(ExcelWorksheet.Cells[1,col]) = '' then break;
    col := col + 1;
  end;
  result := col - 1;
end;

Function TForm26.RowCount(ExcelWorksheet: Variant): Integer;
var
  row: Integer;
begin
  row := 1;
  while true do
  begin
    if trim(ExcelWorksheet.Cells[row,1]) = '' then break;
    row := row + 1;
  end;
  result := row - 1;
end;

posted @ 2012-10-15 20:34  邹晟  阅读(160)  评论(0编辑  收藏  举报