fputcsv und Integer Typcasting zu String

8

Also ich habe eine Zeile, die ich eine fputcsv machen möchte, die einige ganze Zahlen hat (das muss ich als Strings behandelt werden, aber sie sind Zahlen). Diese Ganzzahlen haben führende Nullen, die abgeschnitten werden, wenn ich die fputcsv mache, aber ich möchte nicht, dass dies geschieht. Ich habe versucht, nur typcasting als (string) und setze meine Variable in Anführungszeichen, aber die einzige Möglichkeit, die ich bisher gefunden habe, ist nur Zitate um die ganze Zahl, die die Anführungszeichen in der CSV-Datei angezeigt werden, wenn ich es öffne Excel, die ich nicht auftreten möchte. Kennt jemand eine Möglichkeit, dies zum Funktionieren zu bringen? Ich denke, die fputcsv wird diese Variable nur automatisch aus irgendeinem Grund einen Typ zuweisen und es zu einer Ganzzahl oder etwas machen ...

BEARBEITEN Beispieltext:

Was ich fputcsv:

%Vor%

Was bekomme ich in der CSV-Datei in Excel geöffnet:

%Vor%

aber die führende Null ist immer noch da, wenn ich einfach vi benutze, um diese CSV-Datei zu öffnen. Wirklich seltsam.

    
noname 10.07.2012, 18:10
quelle

8 Antworten

11

Ich hatte das gleiche Problem für lange Zahlen, die ich als String wollte. Wickeln Sie es in einfache Anführungszeichen und machen Sie es auswertbar.

'= "'. $ yourNumber. '"'

    
user1792407 08.12.2016 21:16
quelle
2

Excel interpretiert den Wert als Zahl und formatiert ihn so. Das hat nichts mit PHP zu tun.

Dieser SU Post hat einige Informationen: Ссылка

    
databyss 10.07.2012 18:38
quelle
2

Versuchen Sie, Ihre Ganzzahlen mit führender Null mit einem Nullzeichen voranzuzählen (oder anzuhängen).

%Vor%     
Sander Backus 02.07.2013 15:20
quelle
0

gib es als Formel aus, so wie:

$ line ["phone"]="= \" ". $ line [" phone "]." \ "";

    
Miguel 03.10.2016 11:43
quelle
0

Ein einfaches Anführungszeichen am Anfang der Daten löst das Problem.

d. h. 930838493828584738 anstelle von 930838493828584738, die zu diesem 934E + n konvertiert.

Wenn die CSV-Datei von einem Drittanbieter bereitgestellt wird, könnte dies ein Problem sein.

    
PeterT 25.10.2017 13:04
quelle
-1

Versuchen Sie einen führenden Apostroph (einfaches Zitat). IIRC, die die führenden Nullen behält, aber nicht in Excel erscheint.

    
grubber 10.07.2012 18:25
quelle
-1

Formatieren Sie die Spalte mit "00000000"

Dies hat den Vorteil, dass das Format beim Speichern beibehalten wird

    
SeanC 10.07.2012 18:43
quelle
-1

Sie müssen nur ein Zitat am Anfang der Zahl hinzufügen:

%Vor%

und Excel formatieren diese Zelle nicht als Zahl.

    
joaoramos 11.11.2013 11:17
quelle

Tags und Links