Delphi对Excel文件的操作(2)——读取

//读取excel文件,得到数据v,行数rowcount
//path:文件所在路径
//v:文件内数据
//rowcount:文件最大行数
//sheetindex:读取的文件sheet序号
function ReadFromExcel(path:string;out v:Variant;out rowcount:Integer;sheetindex:Integer=1):Boolean;
var
MsExcel, MsExcelWorkBook, MsExcelWorkSheet: Variant;
begin
  Result := true;
  try
    MsExcel := CreateOleObject('Excel.Application');
    try
      MsExcelWorkBook := MsExcel.Workbooks.Open (path);    //根据路径打开文件
      try
        MsExcelWorkSheet := MsExcel.Worksheets.Item[sheetindex];    //选择表单
        rowcount := MsExcelWorkSheet.Range['A1'].CurrentRegion.rows.count;   //获取行数
        v := varArrayCreate([1, 1000, 1, 7], varVariant);             //创建一个1000行7列数组用来存储Excel数据
        v := MsExcelWorkSheet.Range['A1:G1000'].Value;      //Excel左上角到右下角的范围
      finally
        MsExcel.WorkBooks.Close;
      end;
    finally
      MsExcel.Quit;
      MsExcel := Unassigned;
    end;
  except
    ShowMessage('打开文件失败');
    Result := false;
  end; 
end;

猜你喜欢

转载自blog.csdn.net/Manson_Wang/article/details/80724839