Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Eksport do excela - format liczb, Mają być przecinki zamiast kropek
Therminus
post
Post #1





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 24.05.2015

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


Php wyświetla mi dane z bazy MySql. Ale potrzebuję też eksport tych danych do Excela (a właściwie do formatu csv).
Znalazłem gdzieś kod, który miał to robić, ale nie działał. Trochę go poprawiłem i Excel już ładnie mi ładuje ten plik csv.
Niestety w obecnej postaci ten plik jest bezużyteczny - liczby nie zawierają przecinków, tylko kropki.
Próbowałem zmusić PHP do zmiany formatu liczb, ale wymiękłem. Może ktoś mi pomóc?

Kod
<?php
    $host = 'localhost';
    $user = 'admin';
    $pass = 'tajne_haslo';
    $db = 'nieruchomosci';
    $table = 'budynki';
    $file = 'bron_12-14';
    
    $link = mysql_connect($host, $user, $pass) or die("Can not connect." . mysql_error());
    mysql_select_db($db) or die("Can not connect.");
    
    mysql_query('SET NAMES CP1250');
    $zapytanie = "SELECT * FROM $table WHERE `ID` LIKE '5' ";
    $result = mysql_query ("SHOW COLUMNS FROM ".$table."");
    $i = 0;
    if (mysql_num_rows($result) > 0)
    {
    while ($row = mysql_fetch_assoc($result))
        {
        $csv_output.= $row['Field'].";";
        $i++;
        }
    }
    $csv_output.= "\n";
    $values = mysql_query($zapytanie);
    $liczba1 = mysql_query("SELECT `Pow_Uzyt` FROM $table WHERE `ID` LIKE '5' ");
    $flicz1 = number_format($liczba1, 2, ',', ' ');
    while ($rowr = mysql_fetch_row($values))
    {
    $csv_output.= "\n";
    for ($j=0;$j<$i;$j++)
        {
        $csv_output.= $rowr[$j].";";
        $flicz1;
        }
     $csv_output.= ";";
    }
    
    $filename = $file."_".date("Y-m-d_H-i",time());
    header("Content-type: application/vnd.ms-excel");
    header("Content-disposition: csv" . date("Y-m-d") . ".csv");
    header("Content-disposition: filename=".$filename.".csv");
    print $csv_output;
    exit;
    ?>


Kolumn z liczbami dziesiętnymi mam 6. Tutaj na razie użyłem tylko jednej `Pow_Uzyt`.
Go to the top of the page
+Quote Post

Posty w temacie
- Therminus   [MySQL][PHP]Eksport do excela - format liczb   22.01.2019, 19:55:54
- - markonix   [PHP] pobierz, plaintext /** * @param string...   22.01.2019, 23:06:15
|- - Therminus   Cytat(markonix @ 22.01.2019, 23:06:15...   24.01.2019, 20:12:30
- - borabora   albo number_format z trzecim parametrem   23.01.2019, 08:44:40
- - Tomplus   W ogóle polecam tworzyć tablicę a nie stringi a n...   25.01.2019, 07:17:35
|- - Therminus   Cytat(Tomplus @ 25.01.2019, 07:17:35 ...   25.01.2019, 11:56:18
- - Tomplus   Musisz łyknąć więcej wiedzy na temat zapytań SQL, ...   25.01.2019, 12:04:45
- - viking   W kodzie masz [PHP] pobierz, plaintext $liczba1 = ...   25.01.2019, 12:05:00
- - Therminus   Tyle się nakombinowałem, a rozwiązanie bardzo pros...   25.01.2019, 13:14:42
- - Tomplus   jeżeli dane liczbowe są dobrze zatypowane to wysta...   25.01.2019, 14:32:38
- - Therminus   Sorry, pomyłka. Zamroczyło mnie. Nie mam float, ty...   25.01.2019, 16:49:12
- - Tomplus   Nie pytaj się tylko sprawdź. Decimal to także licz...   25.01.2019, 19:20:55
|- - Therminus   Cytat(Tomplus @ 25.01.2019, 19:20:55 ...   28.01.2019, 12:51:19
- - nospor   @Tomplus is_float('2.5') nigdy nie zwroci...   28.01.2019, 13:01:12
|- - Therminus   Cytat(nospor @ 28.01.2019, 13:01:12 )...   30.01.2019, 15:57:27
- - Tomplus   @Nospor Prawda A co do rozwiązania Vikinga, to ja...   28.01.2019, 15:24:36
- - nospor   CytatA co do rozwiązania Vikinga, to ja go podałem...   28.01.2019, 15:26:31
- - Tomplus   Co do: is_float('2.5') ja zasugerowałem na...   28.01.2019, 20:35:38
- - nospor   Cytatis_float('2.5') ja zasugerowałem nasz...   29.01.2019, 09:53:16
- - Tomplus   dlatego teraz sugeruję is_numeric   29.01.2019, 16:39:43
- - Tomplus   Pozostaje użyć to w ten sposób: [SQL] pobierz, pl...   30.01.2019, 16:22:22
- - Therminus   Dzięki @Tomplus Wszystko działa tak jak chciałem....   2.02.2019, 10:21:29
- - Tomplus   Jak zamykasz temat, to najlepiej dać POMÓGŁ osobom...   2.02.2019, 11:48:46


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: 19.08.2025 - 09:15