天天看點

導入excel資料

程式中經常要用到導入excel資料的功能。其實通過OLE操作Excel就簡單的幾行代碼,但記性不好,經常要用經常要找,還是作篇筆記吧。

前提是系統中先要安裝好EXCEL軟體。

function ImportDataFromExcel:Boolean;
var
  ExcelApp: OleVariant;
  WorkBook: OleVariant;
  RowCount: Integer;
  iRow: Integer;
begin
  try
    ExcelApp := CreateOleObject('Excel.Application');
  except
    SysFunObj.ShowInfo('沒有安裝EXCEL!');
    exit;
  end;

  ExcelApp.Visible := false;
  WorkBook := ExcelApp.WorkBooks.Open(OpenDialog1.FileName);
  RowCount := WorkBook.WorkSheets[1].UsedRange.Rows.Count;
  for iRow := 2 to RowCount do
  begin
    cdsImp.Append;
    cdsImp.FieldByName('bigKind').Text := ExcelApp.Cells[iRow, 1].Value;
    cdsImp.FieldByName('smallKind').Text := ExcelApp.Cells[iRow, 2].Value;
    cdsImp.FieldByName('goodsName').Text := ExcelApp.Cells[iRow, 3].Value;
    cdsImp.FieldByName('price').Text := ExcelApp.Cells[iRow, 4].Value;
    cdsImp.Post;
  end;
  Result := True;
end;