نمایش نتایج 1 تا 3 از 3

نام تاپیک: ارسال خروجی به excel

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    کاربر دائمی
    تاریخ عضویت
    اسفند 1383
    محل زندگی
    اصفهان
    پست
    105

    Smile ارسال خروجی به excel

    با سلام
    یونیت زیر شامل چند تابع است که با استفاده از آن می شه خورجی adoquary- adotableو یا یک dbgrid را به نرم افزار excel فرستاد امیدوارم که بتونید ازش استفاده کنید .


    unit Unit_report;

    interface

    uses SysUtils,QuickRpt, Classes,QRCtrls,forms,CheckLst,StdCtrls,mask,print ers,ADODB, DB,Variants,DBGrids,Grids;

    type

    procedure SendqueryToExcel(temp_quary:TADOQuery;temp_form:TF orm);
    procedure senddbgridtoexcel(temp_dbgrid:TDBGrid;temp_quary:T ADOQuery;temp_form:TForm);
    procedure senddbgridtoexcel_table(temp_dbgrid:TDBGrid;temp_t able:TADOTable;temp_form:TForm);
    procedure sendstringgridtoexcel(temp_stringgrid:TStringGrid; temp_form:TForm);

    implementation

    uses u_DataModule1, Controls,ActiveX, Excel2000; // or Excel97


    //******************************
    //******************************
    //******************************
    //******************************
    procedure SendqueryToExcel(temp_quary:TADOQuery;temp_form:TF orm);
    var
    PreviewToExcel: TExcelApplication;
    RangeE: ExcelRange;
    I, Row: Integer;
    harf:char;
    s:string;
    begin
    PreviewToExcel := TExcelApplication.Create(temp_form);
    PreviewToExcel.Connect;
    PreviewToExcel.Workbooks.Add(NULL, 0);
    RangeE := PreviewToExcel.ActiveCell;
    I:=0;
    while (i<temp_quary.FieldCount) do
    begin
    RangeE.Value:= temp_quary.Fields.Fields[i].FieldName;
    RangeE:=RangeE.Next;
    i:=i+1;
    end;
    Row := 2;
    temp_quary.First;
    while not temp_quary.EOF do
    begin
    RangeE := PreviewToExcel.ActiveCell;
    harf:='A';
    i:=0;
    while (i<temp_quary.FieldCount) do
    begin
    RangeE := PreviewToExcel.Range[chr(i+ord(harf)) + IntToStr(Row), chr(i+ord(harf)) + IntToStr(Row)];
    RangeE.Value:= temp_quary.FieldByName(temp_quary.Fields.Fields[i].FieldName).AsString;
    RangeE:=RangeE.Next;
    i:=i+1;
    end;
    temp_quary.Next;
    inc(Row);
    end;
    RangeE := PreviewToExcel.Range['A1', chr(64 + temp_quary.FieldCount) + IntToStr(temp_quary.RecordCount + 1)];
    RangeE.AutoFormat(8, NULL, NULL, NULL, NULL, NULL, NULL);
    PreviewToExcel.Visible[0] := True;
    PreviewToExcel.Disconnect;
    end;
    //******************************
    procedure senddbgridtoexcel(temp_dbgrid:TDBGrid;temp_quary:T ADOQuery;temp_form:TForm);
    var
    PreviewToExcel: TExcelApplication;
    RangeE: ExcelRange;
    I, Row: Integer;
    harf:char;
    s:string;
    begin
    PreviewToExcel := TExcelApplication.Create(temp_form);
    PreviewToExcel.Connect;
    PreviewToExcel.Workbooks.Add(NULL, 0);
    RangeE := PreviewToExcel.ActiveCell;
    I:=0;
    while (i<temp_dbgrid.FieldCount) do
    begin
    RangeE.Value:= temp_dbgrid.Columns.Items[i].Title.Caption;
    RangeE:=RangeE.Next;
    i:=i+1;
    end;
    Row := 2;
    temp_quary.First;
    while not temp_quary.EOF do
    begin
    RangeE := PreviewToExcel.ActiveCell;
    harf:='A';
    i:=0;
    while (i<temp_dbgrid.FieldCount) do
    begin
    RangeE := PreviewToExcel.Range[chr(i+ord(harf)) + IntToStr(Row), chr(i+ord(harf)) + IntToStr(Row)];
    RangeE.Value:= temp_quary.Fieldbyname(temp_dbgrid.Fields[i].FieldName).AsString;
    RangeE:=RangeE.Next;
    i:=i+1;
    end;
    temp_quary.Next;
    inc(Row);
    end;
    RangeE := PreviewToExcel.Range['A1', chr(64 + temp_dbgrid.FieldCount) + IntToStr(temp_quary.RecordCount + 1)];
    RangeE.AutoFormat(8, NULL, NULL, NULL, NULL, NULL, NULL);
    PreviewToExcel.Visible[0] := True;
    PreviewToExcel.Disconnect;
    end;
    //******************************
    procedure senddbgridtoexcel_table(temp_dbgrid:TDBGrid;temp_t able:TADOTable;temp_form:TForm);
    var
    PreviewToExcel: TExcelApplication;
    RangeE: ExcelRange;
    I, Row: Integer;
    harf:char;
    s:string;
    begin
    PreviewToExcel := TExcelApplication.Create(temp_form);
    PreviewToExcel.Connect;
    PreviewToExcel.Workbooks.Add(NULL, 0);
    RangeE := PreviewToExcel.ActiveCell;
    I:=0;
    while (i<temp_dbgrid.FieldCount) do
    begin
    RangeE.Value:= temp_dbgrid.Columns.Items[i].Title.Caption;
    RangeE:=RangeE.Next;
    i:=i+1;
    end;
    Row := 2;
    temp_table.First;
    while not temp_table.EOF do
    begin
    RangeE := PreviewToExcel.ActiveCell;
    harf:='A';
    i:=0;
    while (i<temp_dbgrid.FieldCount) do
    begin
    RangeE := PreviewToExcel.Range[chr(i+ord(harf)) + IntToStr(Row), chr(i+ord(harf)) + IntToStr(Row)];
    RangeE.Value:= temp_table.Fieldbyname(temp_dbgrid.Fields[i].FieldName).AsString;
    RangeE:=RangeE.Next;
    i:=i+1;
    end;
    temp_table.Next;
    inc(Row);
    end;
    RangeE := PreviewToExcel.Range['A1', chr(64 + temp_dbgrid.FieldCount) + IntToStr(temp_table.RecordCount + 1)];
    RangeE.AutoFormat(8, NULL, NULL, NULL, NULL, NULL, NULL);
    PreviewToExcel.Visible[0] := True;
    PreviewToExcel.Disconnect;
    end;
    //************************************************** *********************************
    procedure sendstringgridtoexcel(temp_stringgrid:TStringGrid; temp_form:TForm);
    var
    PreviewToExcel: TExcelApplication;
    RangeE: ExcelRange;
    I, Row: Integer;
    harf:char;
    begin
    PreviewToExcel := TExcelApplication.Create(temp_form);
    PreviewToExcel.Connect;
    PreviewToExcel.Workbooks.Add(NULL, 0);
    RangeE := PreviewToExcel.ActiveCell;
    Row := 0;
    while row <temp_stringgrid.RowCount do
    begin
    RangeE := PreviewToExcel.ActiveCell;
    harf:='A';
    i:=0;
    while (i<temp_stringgrid.ColCount) do
    begin
    RangeE := PreviewToExcel.Range[chr(i+ord(harf)) + IntToStr(Row+1), chr(i+ord(harf)) + IntToStr(Row+1)];
    RangeE.Value:=temp_stringgrid.Cells[i,row];
    RangeE:=RangeE.Next;
    i:=i+1;
    end;
    inc(Row);
    end;
    RangeE := PreviewToExcel.Range['A1', chr(64 + temp_stringgrid.ColCount) + IntToStr(temp_stringgrid.RowCount)];
    RangeE.AutoFormat(8, NULL, NULL, NULL, NULL, NULL, NULL);
    PreviewToExcel.Visible[0] := True;
    PreviewToExcel.Disconnect;
    end;

    end.

    آخرین ویرایش به وسیله ali512 : دوشنبه 01 اسفند 1384 در 11:42 صبح

تاپیک های مشابه

  1. خواندن رکوردهای فایل excel
    نوشته شده توسط mahboob در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 10
    آخرین پست: یک شنبه 15 دی 1387, 15:37 عصر
  2. excel
    نوشته شده توسط shahzamanian در بخش C#‎‎
    پاسخ: 2
    آخرین پست: سه شنبه 23 بهمن 1386, 12:27 عصر
  3. باز کردن و ثبت اطلاعات در EXCEL
    نوشته شده توسط vb study در بخش VB.NET
    پاسخ: 1
    آخرین پست: دوشنبه 09 مرداد 1385, 10:43 صبح
  4. ویرایش فایل excel در دلفی
    نوشته شده توسط fata263 در بخش برنامه نویسی در Delphi
    پاسخ: 0
    آخرین پست: سه شنبه 09 خرداد 1385, 09:58 صبح
  5. نمایش excel در دیتا گرید
    نوشته شده توسط gole_maryam در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: یک شنبه 29 آبان 1384, 23:00 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •