Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]PhpMailer + ExcelExport
busyboy
post
Post #1





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 22.02.2004

Ostrzeżenie: (0%)
-----


Witam

Uzywam 2 klas PhpMailer (do wysylania maili) oraz ExcelExport (wyciąga dale z bazy zapisuje do xls`a) - i teraz pytanie - kazdy z tych skryptow oddzielnie dziala poprawnie - czy jest mozliwosc wykonania takiej czynnosci ze jest generowany pliki z danymi xls (w chwili obecnej jest mozliwosc zapisu pliku na dysku) - a następnie za pomoca PhpMailer tworzona jest nowa wiadomosc i do tej wiadomosci jest dodawany zalacznik (wygenerowany plik) ?
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Tak, jest taka możliwość. Przecież PHPMailer może bez problemu dodawać załącznikik

W czym problem?
Go to the top of the page
+Quote Post
busyboy
post
Post #3





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 22.02.2004

Ostrzeżenie: (0%)
-----


Ok dzikeuje za opdowiedz, ale chodzi mi o to jak jedno z drugim polaczyc - przy uruchamianiu ExcelExport uruchamia pobieranie pliku na dysk lokalny - a powinien (tak mi sie wydaje) zalisac na serwerze i wyslac go w zalaczniu - tylko jak ?
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




ExcelReport na pewno ma możliwośc zapisania pliku na dysku. Wystarczy że zajrzysz do ich dokumentacji
Go to the top of the page
+Quote Post
busyboy
post
Post #5





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 22.02.2004

Ostrzeżenie: (0%)
-----


Mam taki przyklad

  1. <?php
  2.  
  3. require_once "class.writeexcel_workbook.inc.php";
  4. require_once "class.writeexcel_worksheet.inc.php";
  5.  
  6. $fname = tempnam("/tmp", "textwrap.xls");
  7. $workbook = &new writeexcel_workbook($fname);
  8. $worksheet = &$workbook->addworksheet();
  9.  
  10. # Set the column width for columns 1, 2 and 3
  11. $worksheet->set_column(1, 1, 24);
  12. $worksheet->set_column(2, 2, 34);
  13. $worksheet->set_column(3, 3, 34);
  14.  
  15. # Set the row height for rows 1, 4, and 6. The heigt of row 2 will adjust
  16. # automatically to fit the text.
  17. #
  18. $worksheet->set_row(0, 30);
  19. $worksheet->set_row(3, 40);
  20. $worksheet->set_row(5, 80);
  21.  
  22. # No newlines
  23. $str1 = "For whatever we lose (like a you or a me) ";
  24. $str1 .= "it's always ourselves we find in the sea";
  25.  
  26. # Embedded newlines
  27. $str2 = "For whatever we lose\n(like a you or a me)\n";
  28. $str2 .= "it's always ourselves\nwe find in the sea";
  29.  
  30.  
  31. # Create a format for the column headings
  32. $header =& $workbook->addformat();
  33. $header->set_bold();
  34. $header->set_font("Courier New");
  35. $header->set_align('center');
  36. $header->set_align('vcenter');
  37.  
  38. # Create a "vertical justification" format
  39. $format1 =& $workbook->addformat();
  40. $format1->set_align('vjustify');
  41.  
  42. # Create a "text wrap" format
  43. $format2 =& $workbook->addformat();
  44. $format2->set_text_wrap();
  45.  
  46. # Write the headers
  47. $worksheet->write(0, 1, "set_align('vjustify')", $header);
  48. $worksheet->write(0, 2, "set_align('vjustify')", $header);
  49. $worksheet->write(0, 3, "set_text_wrap()", $header);
  50.  
  51. # Write some examples
  52. $worksheet->write(1, 1, $str1, $format1);
  53. $worksheet->write(1, 2, $str1, $format1);
  54. $worksheet->write(1, 3, $str2, $format2);
  55.  
  56. $worksheet->write(3, 1, $str1, $format1);
  57. $worksheet->write(3, 2, $str1, $format1);
  58. $worksheet->write(3, 3, $str2, $format2);
  59.  
  60. $worksheet->write(5, 1, $str1, $format1);
  61. $worksheet->write(5, 2, $str1, $format1);
  62. $worksheet->write(5, 3, $str2, $format2);
  63.  
  64. $workbook->close();
  65.  
  66. header("Content-Type: application/x-msexcel; name=\"example-textwrap.xls\"");
  67. header("Content-Disposition: inline; filename=\"example-textwrap.xls\"");
  68. $fh=fopen($fname, "rb");
  69. fpassthru($fh);
  70. unlink($fname);
  71.  
  72. ?>


Probowalem po fopen dodac fwrite to nic niestety nie dalo , nie wiem czy przy uploadu na serwer trzeba wyrzucic header ?
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No przecież pod zmienna $fname masz ścieżkę do swojego właśnie wygenerowanego excela...

wywal o to:
header("Content-Type: application/x-msexcel; name=\"example-textwrap.xls\"");

header("Content-Disposition: inline; filename=\"example-textwrap.xls\"");

$fh=fopen($fname, "rb");

fpassthru($fh);

unlink($fname);

Teraz podpinaj PHPMAIler i po sprawie
Go to the top of the page
+Quote Post
busyboy
post
Post #7





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 22.02.2004

Ostrzeżenie: (0%)
-----


Juz znalazlem rozewiazanie w dokumentacji - dziekuje bardzo za pomoc
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.08.2025 - 14:14