![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 12.10.2004 Ostrzeżenie: (0%) ![]() ![]() |
cześć
mam $wynik - zmienną z tablicą asoscjacyjną części i ich cen i wyświetlam to na witrynie, a przymierzam się teraz do wykorzystania zmiennej $wynik do stworzenia cennika offline. Czy macie z tym jakieś doświadczenia? Jak łatwiej zrobić - w sklepacch występują cenniki do ściągnięcia w wesji pdf lub excel, ja byłbym za wersją excelową, żeby użytkownik mógł sobie potem poprzeliczać swoje przemyślenia w arkuszu. macie jakieś kawałki kodu, linki do tego jak to się robi? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 461 Pomógł: 32 Dołączył: 17.09.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
polecam poszukać na forum - o ppdfie było, o excelu takze - jest jakaś klasa to obsługująca - działą całkiem przyzwoicie.
Ja w takich sytuacjach pozwalam klientowi pobrać archiwum zip zawierajace grafikę oraz pliki html cennika naspzikowanego javascriptem. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Odnosnie pdfow to polecam gotowa classe FPDF fpdf.org
-------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 401 Pomógł: 5 Dołączył: 14.09.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat(herbatniczek @ 2005-02-17 14:46:03) ja byłbym za wersją excelową, żeby użytkownik mógł sobie potem poprzeliczać swoje przemyślenia w arkuszu. macie jakieś kawałki kodu, linki do tego jak to się robi? mowisz i masz demo klasa ta sama klasa w pearze Co do dema to trzeba wybrac jakies elementy z kalkulatora, nacisnac przycisk "pobierz xls" i sprawa zalatwiona. [edit] Costam sie sypalo ale juz poprawilem ![]() Ten post edytował bendi 17.02.2005, 16:32:28 -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 12.10.2004 Ostrzeżenie: (0%) ![]() ![]() |
czesc,
mam dwie wersje. pierwsza: - ta wersja generuje błąd Warning: Cannot modify header information - headers already sent by (output started at c:\usr\krasnal\www\sklep\php_funkcje.inc:139) in c:\usr\krasnal\www\sklep\write\cennik.php on line 84 ob_start(); powoduje generowanie krzaczków w pliku excelowym Kod require_once('../katalog_funkcje.inc'); require_once('../koszyk_funkcje.inc'); require_once('../php_funkcje.inc'); require_once('OLEwriter.php'); require_once('BIFFwriter.php'); require_once('Worksheet.php'); require_once('Workbook.php'); //$drzewo=pobierz_drzewo() ; $drzewo=new wezel_drzewa_kat(0,'','',1,-1,$rozwin,$_SESSION['rozwiniety'],null); //nie potrebuje dwoch ost param $wezel=0; $drzewo->szukaj_kat(2,0); //sprawdz czy zero, bo sa rozne formy przedstawiania danych $lista_podk_kategoria_ID=array(); // tu znajdują się kategoria_ID aktualnej i wszystkich podrzędnych kategorii $wezel->kateg_w_dol(); $lista_produktow=pobierz_cennik($lista_podk_kategoria_ID);//,$sort); function HeaderingExcel($filename) { header("Content-type: application/vnd.ms-excel"); header("Content-Disposition: attachment; filename=$filename" ); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0,pre-check=0"); header("Pragma: public"); } //wyswietl_liste($lista_produktow); HeaderingExcel('test.xls'); // Creating a workbook $workbook = new Workbook("-"); // Creating the first worksheet $worksheet1 =& $workbook->add_worksheet('Cennik'); $worksheet1->set_column(1, 1, 40); $worksheet1->set_row(1, 20); $worksheet1->write_string(1, 1, "This worksheet's name is ".$worksheet1->get_name()); $worksheet1->write(2,1,"http://www.phpclasses.org/browse.html/package/767.html"); $worksheet1->write_number(3, 0, 11); $worksheet1->write_number(3, 1, 1); $worksheet1->write_string(3, 2, "by four is"); $worksheet1->write_formula(3, 3, "=A4 * (2 + 2)"); //$worksheet1->write_formula(3, 3, "= SUM(A4:B4)"); $worksheet1->write(5, 4, "= POWER(2,3)"); $worksheet1->write(4, 4, "= SUM(5, 5, 5)"); //$worksheet1->write_formula(4, 4, "= LN(2.71428)"); //$worksheet1->write_formula(5, 4, "= SIN(PI()/2)"); // Creating the second worksheet $worksheet2 =& $workbook->add_worksheet(); // Format for the headings $formatot =& $workbook->add_format(); $formatot->set_size(10); $formatot->set_align('center'); $formatot->set_color('white'); $formatot->set_pattern(); $formatot->set_fg_color('black'); $worksheet2->set_column(0,0,15); $worksheet2->set_column(1,2,30); $worksheet2->set_column(3,3,15); $worksheet2->set_column(4,4,10); $worksheet2->write_string(1,0,"Nazwa",$formatot); $worksheet2->write_string(1,1,"Cena netto",$formatot); $worksheet2->write_string(1,2,"Cena brutto",$formatot); //$worksheet2->write_string(1,3,"Phone Number",$formatot); // $worksheet2->write_string(1,4,"Salary",$formatot); $worksheet2->write(3,0,"22222222-2"); $worksheet2->write(3,1,"John Smith"); $worksheet2->write(3,2,"Main Street 100"); $worksheet2->write(3,3,"02-5551234"); $worksheet2->write(3,4,100); $worksheet2->write(4,0,"11111111-1"); $worksheet2->write(4,1,"Juan Perez"); $worksheet2->write(4,2,"Los Paltos 200"); $worksheet2->write(4,3,"03-5552345"); $worksheet2->write(4,4,110); // if you are writing a very long worksheet, you may want to use // write_xxx() functions, instead of write() for performance reasons. $worksheet2->write_string(5,0,"11111111-1"); $worksheet2->write_string(5,1,"Another Guy"); $worksheet2->write_string(5,2,"Somewhere 300"); $worksheet2->write_string(5,3,"03-5553456"); $worksheet2->write(5,4,108); // Calculate some statistics $worksheet2->write(7, 0, "Average Salary:"); $worksheet2->write_formula(7, 4, "= AVERAGE(E4:E6)"); $worksheet2->write(8, 0, "Minimum Salary:"); $worksheet2->write_formula(8, 4, "= MIN(E4:E6)"); $worksheet2->write(9, 0, "Maximum Salary:"); $worksheet2->write_formula(9, 4, "= MAX(E4:E6)"); //$worksheet2->insert_bitmap(0, 0, "some.bmp",10,10); $workbook->close(); druga wersja: cennik już działa pięknie, generują się trzy kolumny i dane w pliku xls. mam pytanie -jak przed wszyestkim dodać tekst z nazwą firmy, dużą czcionką - jak zmienić tło komórki wrzucając kolejne dane do $line .= $value;, np żeby drugi wiersz w $line był szary ( to mi będzie później potrzebne do tytułowania poszczegolnych działów - monitory, drukari itp.) - jak ustawić szerokość komórki Nazwa i innych? - jak ustawić autofiltr na tytuły kolumn np nazwa? Kod: Kod ob_start();
require_once('../php_funkcje.inc'); require_once('../katalog_funkcje.inc'); require_once('../koszyk_funkcje.inc'); lacz_bd(); $drzewo=new wezel_drzewa_kat(0,'','',1,-1,$rozwin,$_SESSION['rozwiniety'],null); //nie potrebuje dwoch ost param $wezel=0; $drzewo->szukaj_kat(2,0); //sprawdz czy zero, bo sa rozne formy przedstawiania danych $lista_podk_kategoria_ID=array(); // tu znajdują się kategoria_ID aktualnej i wszystkich podrzędnych kategorii $wezel->kateg_w_dol(); $cennik=pobierz_cennik($lista_podk_kategoria_ID);//,$sort); $header = 'Nazwa '."\t".'Cena netto'."\t".'Cena brutto'; $i=0; foreach ($cennik as $rzad){ $line = ''; $value=$cennik[$i]['produkt_nazwa']; $value = '"' . $value . '"' . "\t"; $line .= $value; $value=$cennik[$i]['produkt_cena']; $value = '"' . $value . '"' . "\t"; $line .= $value; $value=$cennik[$i]['cena_brutto']; $value = '"' . $value . '"' . "\t"; $line .= $value; $data .= trim($line)."\n"; $i=$i+1; } $data = str_replace("\r","",$data); if ($data == "") { $data = "\n(0) Nie znaleziono rekordów!\n"; } header("Content-type: application/octet-stream"); header("Content-Disposition: attachment; filename=CENNIK.xls"); header("Pragma: no-cache"); header("Expires: 0"); echo "$header\n$data"; Ten post edytował herbatniczek 17.02.2005, 21:34:08 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 09:57 |