گزارش گیری...

abrras

عضو جدید
چطور میشه گزارشی که با برنامه دلفی تهیه کردم به برنامه اکسل بفرستم و اونجا نشون بدم ...
یعنی از Quick Riport استفاده نکنم .. خود متن گزارش تو برنامه اکسل نشون داده بشه .. بدون استفاده از Component ....:surprised::surprised:
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
خروجی query رو بريز تو يه فايل Excel
 

rezazd

عضو جدید
خروجی query رو بريز تو يه فايل Excel

حد اقل سه تا راه حل داری
1- روی خود کوئیک ریپورت یه کامپوننت داره که با اون میتونی فایل رو به صورت csv ذخیره کنی و بعد تو اکسل بیاری بالا

2- یه راه حل اینه که از خود اکسل استفاده کنی و کوئیری رو توی منوی data>import externaldata> new data base query
وارد کنی مستقیما از اس کیو ال میاد تو اکسل

یه راهش ام اینه که یه فایل تکست باز کنی و فلید ها رو با ; ذخیره کنی

کد:
 aFilename := 'c:\temp\test1.[B]CSV[/B]' 
 AssignFile(afile , aFilename );
  Rewrite(afile) ;
  Writeln(afile,' line header 1  ') ;
  Writeln(afile ,'[B];[/B]','titr 1','[COLOR=red];[/COLOR]','titr 2' );
 
   while not adoquery1.eof 
   begin
     Writeln(afile ,';',adoquery1.fieldbyname('field1 ').asstring ,';',adoquery1.fieldbyname('field2').asstring  );
 
    adoquer1.next ;
   end // while 
 
 
  CloseFile(afile);
  ShellExecute (HWND(nil), 'open', pchar(aFilename), '', '', SW_SHOWNORMAL );

فایل سی اس وی یه فورمتی است که اکسل میشناسه و باز میکنه
ضمنا سمی کالون ها یعنی سل بعدی توی سطر
writeln یعنی خط بعدی
ShellExecute هم فرمان ویندوزه یعنی انگار روی فایل ساخته شده دوبار کلیک کردی

من خودم این فایل رو توی مسیر temp ویندوز میسازم و بعدش فایل رو پاک می کنم
موفق باشی
 
آخرین ویرایش:

Similar threads

بالا