Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapis danych do pliku CSV
Forum PHP.pl > Forum > PHP
metal
Witam,

Uzylem funkcji fputcsv w celu zapisu danych z tablicy do pliku csv. Jako separator uwywam ","

Wszystko ladnie sie generuje tylko gdy pozniej odpalam wygenerowany plik w excelu dane nie sa podzielone na kolumny tylko wszystkie wiersze sa zbite razem w jednej kolumnie.

Jak zrobic aby domyslnie plik csv wyswietlal sie z podzialem na kolumny?

Z gory dzieki za pomoc!
thek
Na to pytanie nie ma jednoznacznej odpowiedzi. Problemem jest różna domyślna obsługa CSV przez Excel i OpenOffice. Najlepiej importować dane z pliku CSV poprzez podanie co jest delimiterem. Jeśli każesz mu otworzyć csv bez tego - efekty będą zależne od wersji programów. Inaczej to zinterpretuje Excel stary a inaczej nowy. Uwierz, że też ten problem niejedna osoba przerabiała.
Grisza
Cytat(thek @ 4.05.2010, 13:14:35 ) *
Na to pytanie nie ma jednoznacznej odpowiedzi. Problemem jest różna domyślna obsługa CSV przez Excel i OpenOffice. Najlepiej importować dane z pliku CSV poprzez podanie co jest delimiterem. Jeśli każesz mu otworzyć csv bez tego - efekty będą zależne od wersji programów. Inaczej to zinterpretuje Excel stary a inaczej nowy. Uwierz, że też ten problem niejedna osoba przerabiała.

A jak właśnie zrobić obsługę formularza do CSV ?
Ja zrobiłem coś takiego, ale mi w ogóle nie działa sad.gif
Słuchajcie chciałem obsłużyć zwykły formularz. I zapisać jego dane.
Co robię żle ?
Wywala mi błędy:

  1. <?php
  2. if($_POST['submit']){
  3. $list ="$_POST['imie'].", ".$_POST['nazwisko]'.", ".$_POST['instytucja']";
  4. else
  5. echo "Błąd z przesłaniem danych";
  6.  
  7. $fp = fopen('file.csv', 'a');
  8.  
  9. foreach ($list as $line) {
  10. fputcsv($fp, split(',', $line), ',', '"');
  11. }
  12.  
  13. fwrite($fp, "\r\n");
  14.  
  15. fclose($fp);
  16. echo "Dziękujemy za wypełnienie zgłoszenia";
  17. ?>
Przy czym ze zwykłą ArayListą wszystko działało poprawnie
  1. <?php
  2. $list = array (
  3. 'aaa,bbb,ccc,dddd',
  4. '123,456,789',
  5. '"aaa","bbb"'
  6. );
  7.  
  8. $fp = fopen('file2.csv', 'a');
  9.  
  10. foreach ($list as $line) {
  11. fputcsv($fp, split(',', $line), ',', '"');
  12. }
  13.  
  14. fwrite($fp, "\r\n");
  15.  
  16. fclose($fp);
  17. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.