SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 08.09.2013, 19:41:37
Riegelhaus Riegelhaus ist offline
Anfänger
 
Registriert seit: Nov 2003
Beiträge: 91
csv erstellen, Strichpunkt im Inhalt

Hallo

Ich sollte ein CSV-File erstellen, für ein Excel-Export. Nun gibt es leider innherhalb des Textes Texte mit Strichpunkt(;) und das Excel trennt logischerweise dort. Doch das ergibt dann ein unbrauchbares Resultat.

Kann ich die von untershciedlichen User erfessten ; markieren, damit das Excel dies nich erkennt?

PHP-Code:
$file 'Liste'// csv name.
$select "SELECT ...FROM ...";
$result mysql_query($select,$link);
$num =mysql_num_rows($result);
$i 0;
for (
$i=0;$i<$num;$i++)
{
$row=mysql_fetch_array($result);
$csv_output .=$row['...'].";";
$csv_output .=$row['....'].";";
$csv_output .=$row['information'].";";
$csv_output .= "\n";
}
$csv_output .="Schluss;"
$csv_output .=date("d-m-Y_H-i",time()).";";
$csv_output .= "\n";
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: csv" date("Y-m-d") . ".csv");
header"Content-disposition: filename=".$file.".csv");
print 
$csv_output;
exit; 

Wie muss ich es machen, dass die ; im $csv_output .=$row['information'].";"; nicht Zellen Trennen

Danke
Mit Zitat antworten
  #2  
Alt 08.09.2013, 22:22:35
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: csv erstellen, Strichpunkt im Inhalt

Zitat:
Zitat von Riegelhaus Beitrag anzeigen
Ich sollte ein CSV-File erstellen, für ein Excel-Export. Nun gibt es leider innherhalb des Textes Texte mit Strichpunkt(;) und das Excel trennt logischerweise dort. Doch das ergibt dann ein unbrauchbares Resultat.

Kann ich die von untershciedlichen User erfessten ; markieren, damit das Excel dies nich erkennt?
; == ;
Allerdings hat Excel möglicherweise mit dem Zeilenumbruch ein Problem:
Zitat:
PHP-Code:
$csv_output .=$row['...'].";";
$csv_output .=$row['....'].";";
$csv_output .=$row['information'].";";
$csv_output .= "\n"
Linux -> "\n"
Windows -> "\r\n"
Zitat:
Wie muss ich es machen, dass die ; im $csv_output .=$row['information'].";"; nicht Zellen Trennen
KA - Excel kommt mir nicht auf die Platte. Exportiere doch mal Deine Tabelle als CSV File. Dann weißt Du "aus erster Hand", wie es aussehen muß. Möglicherweise fehlen ein paar Gänsefüße...
Mit Zitat antworten
  #3  
Alt 09.09.2013, 16:11:16
sysop sysop ist offline
Member
 
Registriert seit: Mar 2004
Ort: wien
Beiträge: 512
AW: csv erstellen, Strichpunkt im Inhalt

Dein Wunsch wäre frickeln, da Excel nicht wissen kann, wann du ein Semikolon als Trenner wünscht und wann nicht.
Alternative:

PHP-Code:
$csv_output .=$row['...']."\t";
$csv_output .=$row['....']."\t";
$csv_output .=$row['information']."\t";
$csv_output .= "\n"
Dann wird ein Tabstop statt eines Semikolons verwendet.
__________________
Gruss sys ;-)
Ich möchte wie mein Grossvater sterben, lächelnd und schlafend, nicht schreiend und weinend, wie sein Beifahrer.
Mit Zitat antworten
  #4  
Alt 13.09.2013, 07:18:57
Riegelhaus Riegelhaus ist offline
Anfänger
 
Registriert seit: Nov 2003
Beiträge: 91
AW: csv erstellen, Strichpunkt im Inhalt

Danke sysop das brachte mich ans Ziel


$csv_output .=$row['...']."\t"; machte jede Zelle in eine Zeile, konnte es so nicht gebrauchen.

Doch das geht

PHP-Code:
$feld1=$row['feld1'];
$feld2=$row['feld2'];
$information=$row['information']; 

$csv_output .="$feld1;$feld2;$information";
$csv_output .= "\n"
Danke nochmals
Mit Zitat antworten
  #5  
Alt 14.09.2013, 13:27:13
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: csv erstellen, Strichpunkt im Inhalt

http://de.wikipedia.org/wiki/CSV_%28...en_beim_Import
Mit Zitat antworten
  #6  
Alt 15.09.2013, 08:34:40
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: csv erstellen, Strichpunkt im Inhalt

Hi,

Zitat:
Wie muss ich es machen, dass die ; im $csv_output .=$row['information'].";"; nicht Zellen Trennen
Zitat:
Doch das geht ... $csv_output .="$feld1;$feld2;$information";
Wo ist da deiner Meinung nach der Unterschied?

Zitat:
Dein Wunsch wäre frickeln, da Excel nicht wissen kann, wann du ein Semikolon als Trenner wünscht und wann nicht.
Logo kann man Excel(oder anderen ;)) das beibringen.

Man kann auch Anführungszeichen maskieren etc.

test.csv
Code:
_;"\;,";;
1;2;"3""";"4;";5
Und mit der richtigen PHP Funktion (strpos ?) kann man ja prüfen ob man es in Anführungszeichen setzt oder Anführungszeichen maskiert.

MfG

CKaos

PS: Beim Umlauten solltest du dir mb_convert_encoding anschauen und >hier< hat jemand ne Funktion dazu geschrieben.
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
  #7  
Alt 15.09.2013, 09:39:22
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: csv erstellen, Strichpunkt im Inhalt

http://www.php.net/manual/de/splfileobject.fputcsv.php
Mit Zitat antworten
  #8  
Alt 15.09.2013, 13:04:19
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: csv erstellen, Strichpunkt im Inhalt

Hi,

@Doku
Schon die beste Lösung nur fällt die Wahl des Zeilentrenners weg!
Aber vielleicht brauch er die Wahl nicht.


MfG

CKaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
  #9  
Alt 16.09.2013, 13:36:50
sysop sysop ist offline
Member
 
Registriert seit: Mar 2004
Ort: wien
Beiträge: 512
AW: csv erstellen, Strichpunkt im Inhalt

Genau bei den vielen "Vielleichts" hakt es ja.

Wenn Semikola vollkommen unmotiviert in den Spalten vorkommen und keinerlei Regelmässigkeiten unterliegen, wird Excel (oder Andere ;-) ) mit obigem Code ein Problem bekommen.
Die Einträge in "" zu packen ist natürlich auch eine Variante.
fputcsv kann auch mit einem beliebigen Delimiter versehen werden.

Lösungen gibt es also zu Hauf, der Rest ist Coder-Sache....
__________________
Gruss sys ;-)
Ich möchte wie mein Grossvater sterben, lächelnd und schlafend, nicht schreiend und weinend, wie sein Beifahrer.
Mit Zitat antworten
  #10  
Alt 17.09.2013, 16:22:16
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: csv erstellen, Strichpunkt im Inhalt

Zitat:
Zitat von sysop Beitrag anzeigen
Wenn Semikola vollkommen unmotiviert in den Spalten vorkommen
Davon sollte man immer ausgehen. Alles, was keine Zahl ist (das betrifft auch Zahlen mit Dezimalkomma anstelle des Dezimalpunktes), gehört zwischen zwei Anführungszeichen.

Murphy: "Wenn bei einer beliebigen mechanischen Vorrichtung irgend etwas falsch gemacht werden kann, so wird sich immer jemand finden, der das auch tut." oder
"Bei einer beliebigen Berechnung erweist sich die Größe, deren Richtigkeit für alle außer Frage stand, am Schluß als Fehlerquelle."
Zitat:
Die Einträge in "" zu packen ist natürlich auch eine Variante.
Es ist die einzig brauchbare Lösung.

Ob man nun auf Comma-separated oder semicolon-separated values besteht, kann man vorher klären.

Nachteilig an der Bibliothek ist, daß man bei der Zeilenschaltung nicht zwischen "\n", "\r" oder "\r\n" wählen kann.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Fehler in Script das Inhalt einer .txt Datei (HTML Sourcecode) in Datei schreiben sol RookieXL2 PHP für Fortgeschrittene und Experten 2 08.06.2007 23:58:33
Textdatei auslesen und Inhalt verwenden d4rkm3n PHP Grundlagen 14 21.06.2006 17:27:59
Datei mit Inhalt erstellen Bogi PHP Grundlagen 7 03.12.2005 19:01:28
Kompletten Inhalt per PHP steuern? Zel Greywards PHP Grundlagen 22 20.09.2004 16:30:57
Erstellen einer Datei durch einen Script LLlypa PHP Grundlagen 3 05.06.2004 10:26:14


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:12:15 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt