Frage

Geschieht jemand wissen, ob es ein Zeichen, das ich auf meine csv für ein bestimmtes Feld hinzufügen kann, so wird Excel versuchen, es nicht zu einem Datum zu konvertieren?

Ich versuche, eine CSV-Datei aus meiner Anwendung zu schreiben und einer des Wertes geschieht wie ein Datum genug, um zu sehen, dass Excel automatisch von Text in ein Datum konvertieren wird. Ich habe versucht, alle meine Textfelder setzen (einschließlich dem, das wie ein Datum aussieht) in doppelten Anführungszeichen, aber das hat keine Auswirkungen.

War es hilfreich?

Lösung

ich gefunden habe, dass die Inbetriebnahme ein ‚=‘, bevor die doppelten Anführungszeichen wird erreichen, was Sie wollen. Es zwingt die Daten Text sein.

zB. = "2008-10-03" = "mehr Text"

EDIT (nach anderen Beiträgen) : Wegen der Excel 2007 Fehler festgestellt, von Jeffiekins sollte man die Lösung von Andrew vorgeschlagen verwenden : "=""2008-10-03"""

Andere Tipps

Ich weiß, dass dies eine alte Frage, aber das Problem weggeht nicht bald. CSV-Dateien sind leicht von den meisten Programmiersprachen zu erzeugen, eher klein, für Menschen lesbarer in einem Knirschen mit einem einfachen Text-Editor, und allgegenwärtig.

Das Problem ist nicht nur mit Terminen in Textfeldern, aber etwas numerische auch von Text in Zahlen umgewandelt wird. Ein paar Beispiele, wo dies problematisch:

  • PLZ / Postleitzahlen
  • Telefonnummern
  • Regierung ID-Nummern

die manchmal können beginnen mit einem oder mehreren Nullen (0), die weggeworfen werden, wenn in numerische umgewandelt. Oder der Wert Zeichen enthält, die mit mathematischen Operatoren verwechselt werden können (wie in Daten: /, -).

Zwei Fälle, die ich, dass die "Prepending =" denken kann Lösung, wie bereits erwähnt, ist vielleicht nicht ideal sein, ist

  • , wo die Datei in ein anderes Programm als MS Excel (MS Word Seriendruck-Funktion in dem Sinne kommt) importiert werden kann,
  • in denen die Menschenlesbarkeit von Bedeutung sein könnten.

Mein Hack zu arbeiten, um diesen

Wenn man pre / anhängt ein nicht-numerischen und / oder nicht-Datum Zeichen im Wert, wird der Wert als Text erkannt werden und nicht konvertiert. Ein nicht druckbares Zeichen wäre gut, wie es wird der angezeigte Wert nicht ändern. Allerdings sind die guten alten Leerzeichen (\ s, ASCII 32) nicht für diese Arbeit, wie es von Excel abgehackt wird und dann noch der Wert umgewandelt wird. Aber gibt es verschiedene andere Druck- und Nicht-Druck-Raum-Zeichen, die gut funktionieren. Die einfachste ist jedoch auf anhängen (hinzufügen, nachdem) die einfache Tabulatorzeichen (\ t, ASCII 9).

Die Vorteile dieses Ansatzes:

  • Erhältlich von der Tastatur oder mit einem leicht zu merkenden ASCII-Code (9),
  • Es ist nicht die Mühe, die Einfuhr,
  • Normalerweise stört nicht Seriendruck-Ergebnisse (auf der Vorlage Layout abhängig - aber normalerweise es kommt noch hinzu, einen breiten Raum am Ende einer Zeile). (Wenn dies jedoch ein Problem, Blick auf die anderen Zeichen zum Beispiel die Null-Breite Raum (ZWSP, Unicode U + 200B)
  • ist kein großes Hindernis, wenn die CSV in Editor anzeigen (etc),
  • und konnte durch Suchen / Ersetzen in Excel (oder Notepad usw.).
  • entfernt werden
  • Sie brauchen nicht zu Import die CSV, sondern kann einfach Doppelklick auf open die CSV in Excel.

Wenn es ein Grund, warum Sie wollen nicht auf die Registerkarte verwenden, suchen in einer Unicode-Tabelle für etwas anderes geeignet.

Eine weitere Option

könnte sein, XML-Dateien zu generieren, für die ein bestimmtes Format auch für den Import von neueren MS Excel-Versionen akzeptiert wird, und die viel mehr Möglichkeiten ähnlich wie .xls Format ermöglicht es, aber ich habe keine Erfahrung mit diesem.

So gibt es verschiedene Möglichkeiten. Je nach Bedarf / Anwendung, könnte man besser als der andere sein.


Addition

Es muss gesagt werden, dass neuere Versionen (2013+) von MS Excel öffnen Sie die CSV in Tabellenformat mehr - ein weiterer speedbump in einem Workflow macht Excel weniger nützlich ... Zumindest Anweisungen gibt es für immer um es herum. Siehe z.B. diese Stackoverflow: Wie richtig Dateien in Excel 2013 CSV angezeigt werden? .

Arbeiten aus der Jarods Lösung und die Ausgabe von Jeffiekins gebracht, könnte man ändern

"May 16, 2011"

"=""May 16, 2011"""

Ich hatte ein ähnliches Problem und das ist die Abhilfe, die mir geholfen haben, ohne dass der CSV-Datei Inhalt bearbeiten zu müssen:

Wenn Sie die Flexibilität haben, um die Datei etwas anderes als „.csv“ zu nennen, man kann es nennen mit einer „.txt“ Erweiterung wie ‚MyFile.txt‘ oder ‚Myfile.csv.txt‘. Dann, wenn Sie es in Excel öffnen (nicht per Drag & Drop, aber mit File-> Open oder der zuletzt verwendeten Dateien Liste), Excel Sie mit bieten wird „Text Import-Assistenten“.

In der ersten Seite des Assistenten, wählen Sie „Trennzeichen“ für den Dateityp.

In der zweiten Seite des Assistenten wählen „“ als Trennzeichen und auch die Texterkennungszeichen wählen, ob Sie Ihre Werte in Anführungszeichen haben

In der dritten Seite, wählen Sie jede Spalte einzeln und weisen jeweils den Typ „Text“ anstelle von „General“ Excel zu stoppen mit Ihren Daten aus Messing.

Hope this Sie oder jemand mit einem ähnlichen Problem hilft!

ACHTUNG: Excel '07 (zumindest) einen (weiteren) Fehler: Wenn es ein Komma ist in dem Inhalt eines Feldes, es analysiert keine den = „Feld Inhalt“ richtig, sondern setzt alles nach dem Komma in das folgende Feld unabhängig von den Anführungszeichen.

Die einzige Lösung die ich gefunden habe, das funktioniert ist die = zu beseitigen, wenn der Feldinhalt ein Komma enthalten.

Dies kann bedeuten, dass es einige Felder, die genau „richtig“ in Excel darzustellen unmöglich sind, aber jetzt ich vertraue niemand zu überrascht ist.

Beim Erstellen der Zeichenfolge meiner CSV-Datei in C # geschrieben werden musste ich es auf diese Weise zu formatieren:

"=\"" + myVariable + "\""

In Excel 2010 ein neues Blatt öffnen. Auf dem Datum Band auf „Externe Daten aus Text“. Wählen Sie Ihre CSV-Datei und klicken Sie auf „Öffnen“. Weiter klicken". Deaktivieren Sie „Tab“, setzen Sie ein Häkchen neben „Comma“ und klicken Sie auf „Weiter“. Klicken Sie auf eine beliebige Stelle auf der ersten Spalte. Während die Shift-Taste ziehen Sie den Regler hält über, bis Sie in der letzten Spalte klicken können, lassen Sie die Shift-Taste. Klicken Sie auf den "Text" Radio-Button klicken Sie dann auf "Fertig stellen"

Es werden alle Spalten als Text importiert, so wie sie in der CSV-Datei waren.

Noch ein Problem in Microsoft Office 2016 Release, eher störend für die von uns mit Gen-Namen wie MARC1 arbeiten, MÄRZ1, SEPT1 usw. Die Lösung, die ich gefunden habe, die praktischste sein, nachdem eine „.csv“ Datei in R zu erzeugen, die dann mit Excel-Benutzer geöffnet / geteilt werden:

  1. Öffnen Sie die CSV-Datei als Text (Notizblock)
  2. Kopieren Sie sie (Strg + a, ctrl + c).
  3. Fügen Sie ihn in einem neuen Blatt Excel-es alle in einer Spalte so lange Textzeichenfolgen einfügen wird.
  4. Wählen Sie / wählen Sie diese Spalte.
  5. Zum Data- „Text in Spalten ...“, auf dem Fenster geöffnet wählen „begrenzt“ (nächste). Überprüfen Sie, ob „Komma“ gekennzeichnet ist (Markierung es bereits die Trennung der Daten in Spalten unten zeigen) (nächste), in diesem Fenster können Sie die Spalte wählen, die Sie möchten, und markieren Sie ihn als Text (statt general) (Ende).

HTH

Dies ist die einfache Methode, die wir hier bei der Arbeit, wenn sie in erster Linie die CSV-Datei zu erzeugen, ist es die Werte etwas ändert, so dass es nicht geeignet für alle Anwendungen ist:

voranstellen einen Raum für alle Werte in der CSV

Dieser Raum wird erhalten von Excel von Zahlen wie „1“,“2,3" und‚-2.9e4‘abgezogen wird aber auf Termine wie‚1993.01.10‘und booleans wie‚TRUE‘, bleiben sie zu stoppen wobei Excel-interne Datentypen umgewandelt.

Es hält auch doppelte Anführungszeichen in auf las gezappt werden, so eine narrensichere Möglichkeit, Text zu machen in einer csv von Excel unverändert bleiben, auch wenn es einige Texten wie „3.1415“ ist es mit doppelten Anführungszeichen zu umgeben und die gesamte Zeichenfolge voranstellen mit ein Raum, das heißt (mit einfachen Anführungszeichen zu zeigen, was würden Sie geben) ‚‚3.1415‘‘. Dann in Excel haben Sie immer die Original-Zeichenkette, außer es durch doppelte Anführungszeichen und vorangestellt von einem Raum umgeben ist, so dass Sie für die in den Formeln berücksichtigen müssen usw.

(Unter der Annahme, Excel 2003 ...)

Bei Verwendung des Text-to-Spalt-Assistent hat, in Schritt 3 können Sie den Datentyp für jede der Spalten diktieren. Klicken Sie auf die Spalte in der Vorschau und ändern Sie die abgestürzten Spalte von „Allgemein“ auf „Text“.

Dies ist ein einziger Weg, ich weiß, wie dies in der Datei selbst ohne Unordnung zu erreichen. Wie üblich bei Excel, habe ich gelernt, das ist mein Kopf stundenlang auf dem Schreibtisch, was Sache ist.

Ändern Sie die CSV-Datei-Endung zu .txt; dies wird Excel von Auto-Umwandeln der Datei stoppen, wenn es geöffnet wird. Hier ist, wie ich es tun, öffnet Excel in ein leeres Arbeitsblatt, das leere Blatt schließen, dann Datei => Öffnen und Ihre Datei mit der Erweiterung TXT wählen. Dies zwingt Excel die „Textimport-Assistenten“ zu öffnen, wo es Sie Fragen fragen werden, wie Sie wollen, dass es die Datei zu interpretieren. Zuerst wählen Sie die Trennzeichen (Komma, Tab, etc ...), dann (hier ist der wichtige Teil) Sie eine Reihe Spalten von Spalten auswählen und die Formatierung wählen. Wenn Sie genau wollen, was in der Datei ist dann wählen „Text“ und Excel wird angezeigt, genau das, was zwischen den Begrenzungszeichen ist.

2018

Die einzig richtige Lösung, die für mich gearbeitet (und auch ohne die CSV-modifizierende ).

Excel 2010:

  1. Erstellen Sie neue Arbeitsmappe
  2. Daten> From Text> Wählen Sie Ihre CSV-Datei
  3. Im Popup, wählen Sie "Trennzeichen" Radio-Button, und klicken Sie auf "Weiter>"
  4. Trennzeichen Kontrollkästchen: tick nur "Comma" und die anderen Optionen deaktivieren, klicken Sie dann auf "Weiter>"
  5. In der „Datenvorschau“, navigieren Sie zu der rechten Seite, dann die Umschalttaste gedrückt und klicken Sie auf die letzte Spalte (dies wird alle Spalten auswählen). Jetzt in dem „Datenformat der Spalten“ wählen Sie das Optionsfeld „Text“ und klicken Sie auf „Fertig stellen“.

Excel Office365: (Client-Version)

  1. Erstellen Sie neue Arbeitsmappe
  2. Daten> Aus Text / CSV> Wählen Sie Ihre CSV-Datei
  3. Datentyperkennung> nicht erkennen

. Hinweis: Excel Office365 (Web-Version), wie ich dies schreibe, werden Sie nicht in der Lage sein, das zu tun

(Excel 2007 und später)

Wie zu zwingen, excel nicht zu „erkennen“ Datumsformate ohne Bearbeitung der Quelldatei

Entweder:

  • benennen Sie die Datei als .txt
  • Wenn Sie das nicht tun können, anstatt die CSV-Datei zu öffnen direkt in Excel-Datei, erstellen Sie eine neue Arbeitsmappe dann
    gehen Data > Get external data > From Text
    und Ihre CSV wählen.

So oder so, werden Sie mit Importoptionen präsentiert werden, wählen Sie einfach jede Spalte Daten enthält und tell Excel als „Text“ nicht „allgemein“ zu formatieren.

Keine der angebotenen Lösungen ist hier eine gute Lösung. Es kann im Einzelfall arbeiten, aber nur, wenn Sie die Kontrolle über die endgültige Anzeige sind. Nehmen Sie mein Beispiel: meine Arbeit produziert Liste der Produkte, die sie verkaufen, um Einzelhandel. Dies ist im CSV-Format und Teilcodes enthält, von denen einige mit Nullen, gesetzt von den Herstellern (nicht unter unserer Kontrolle) starten. Nehmen Sie die führenden Nullen weg und Sie können tatsächlich ein anderes Produkt entsprechen. Privatkunden wollen die Liste im CSV-Format, weil der Back-End-Verarbeitungsprogramme, die auch außerhalb unserer Kontrolle und unterschiedlich sind pro Kunden, also können wir nicht das Format der CSV-Dateien ändern. Kein Präfix ‚=‘, noch Tabs hinzugefügt. Die Daten in den rohen CSV-Dateien korrekt ist; es ist, wenn Kunden diese Dateien in Excel öffnen fangen die Probleme an. Und viele Kunden sind nicht wirklich computerbewandert. Sie können nur über offene und eine E-Mail Anhang speichern. Wir denken, die Daten in zwei leicht unterschiedlichen Formaten bereitzustellen. Ein als Excel-freundliches (mit den oben vorgeschlagenen Optionen durch einen TAB hinzufügen, die andere als ‚Master‘ Aber das Wunschdenken sein kann, wie einige Kunden verstehen nicht, warum wir müssen dies tun. in der Zwischenzeit wir auch weiterhin halten zu erklären, warum sie manchmal ‚falsche‘ Daten in ihren Tabellen sehen. Bis Microsoft macht eine richtige Änderung, die ich keine richtige Lösung dieses sehen, solange man keine Kontrolle über wie Endanwendern die Dateien verwenden.

Was habe ich für das gleiche Problem erledigt war, die vor jeder csv Wert hinzuzufügen: "=" "" und ein doppeltes Anführungszeichen nach jedem CSV-Wert, bevor Sie die Datei in Excel zu öffnen. Nehmen Sie die folgenden Werte zum Beispiel:

012345,00198475

Diese sollten vor dem Öffnen in Excel geändert werden, um:

"="""012345","="""00198475"

Nachdem Sie dies tun, jede Zelle Wert erscheint als eine Formel in Excel und so wird nicht als Zahl, Datum usw. Zum Beispiel formatiert werden, ein Wert von 012345 erscheint als:

="012345"

habe ich jus in dieser Woche über diese Konvention kommen, die ein ausgezeichneter Ansatz zu sein scheint, aber ich kann es nicht überall verwiesen. Ist jemand mit ihm vertraut? Können Sie eine Quelle für sie anführen? Ich habe nicht stundenlang gesucht, aber bin der Hoffnung, jemand wird diesen Ansatz erkennen.

Beispiel 1: = ( "012345678905") zeigt, wie 012345678905

. Beispiel 2: = ( "1954.12.12") zeigt, wie 1954.12.12 , nicht 1954.12.12

Es ist nicht das Excel. Windows funktioniert die Formel erkennen, die Daten als Datum und autocorrects. Sie müssen die Windows-Einstellungen ändern.

„Systemsteuerung“ (-> „Zur klassischen Ansicht wechseln“) -> „Regions- und Sprach Optionen“-> Registerkarte "Regionale Einstellungen" -> "Anpassen ..." -> Registerkarte "Zahlen" -> Und dann die Symbole ändern je nachdem, was Sie wollen.

http: // www. pcreview.co.uk/forums/enable-disable-auto-convert-number-date-t3791902.html

Es wird auf Ihrem Computer arbeiten, wenn diese Einstellungen nicht zum Beispiel geändert werden auf Ihrer Kunden-Computer werden sie Daten anstelle von Daten sehen.

Hallo, ich habe das gleiche Problem,

Ich schreibe diese vbscipt eine andere CSV-Datei zu erstellen. Die neue CSV-Datei wird einen Platz in der Schrift der einzelnen Felder haben, so übertreffen sie als Text verstehen.

So haben Sie eine VBS-Datei mit dem folgenden Code erstellen (zB Modify_CSV.vbs), speichern und schließen. Drag and Drop Ihre ursprüngliche Datei auf Ihrer VBScript-Datei. Es wird eine neue Datei mit „SPACE_ADDED“ erstellen Namen in der gleichen Position zu stellen.

Set objArgs = WScript.Arguments

Set objFso = createobject("scripting.filesystemobject")

dim objTextFile
dim arrStr ' an array to hold the text content
dim sLine  ' holding text to write to new file

'Looping through all dropped file
For t = 0 to objArgs.Count - 1
    ' Input Path
    inPath = objFso.GetFile(wscript.arguments.item(t))

    ' OutPut Path
    outPath = replace(inPath, objFso.GetFileName(inPath), left(objFso.GetFileName(inPath), InStrRev(objFso.GetFileName(inPath),".") - 1) & "_SPACE_ADDED.csv")

    ' Read the file
    set objTextFile = objFso.OpenTextFile(inPath)


    'Now Creating the file can overwrite exiting file
    set aNewFile = objFso.CreateTextFile(outPath, True) 
    aNewFile.Close  

    'Open the file to appending data
    set aNewFile = objFso.OpenTextFile(outPath, 8) '2=Open for writing 8 for appending

    ' Reading data and writing it to new file
    Do while NOT objTextFile.AtEndOfStream
        arrStr = split(objTextFile.ReadLine,",")

        sLine = ""  'Clear previous data

        For i=lbound(arrStr) to ubound(arrStr)
            sLine = sLine + " " + arrStr(i) + ","
        Next

        'Writing data to new file
        aNewFile.WriteLine left(sLine, len(sLine)-1) 'Get rid of that extra comma from the loop


    Loop

    'Closing new file
    aNewFile.Close  

Next ' This is for next file

set aNewFile=nothing
set objFso = nothing
set objArgs = nothing

Ohne Ihre CSV-Datei ändern können Sie:

  1. Ändern Sie die Excel-Zellen formatieren Option "Text"
  2. Sie dann den "Text Import-Assistent" mit den CSV-Zellen zu definieren.
  3. Löschen Nach dem Import der Daten
  4. fügen Sie einfach im Klartext

Excel richtig formatieren und Ihre csv Zellen trennen als Text zu ignorieren Autodatumsformate formatiert.

Eine Art einer dummen Arbeit um, aber es schlägt die CSV-Daten zu modifizieren vor dem Import. Andy Baird und Richard Art entzog sich von dieser Methode, verpasste aber ein paar wichtige Schritte.

Ich weiß, das ist ein alter Thread. Für diejenigen wie mich, die noch dieses Problem mit Office 2013 über Power com Objekt haben kann, der Opentext Methode . Das Problem ist, dass diese Methode viele Argumente hat, die exklusiv manchmal gegenseitigen sind. Um dieses Problem zu beheben Sie die invoke-namedparameter Methode in dieser Beitrag . Ein Beispiel wäre,

$ex = New-Object -com "Excel.Application"
$ex.visible = $true
$csv = "path\to\your\csv.csv"
Invoke-NamedParameter ($ex.workbooks) "opentext" @{"filename"=$csv; "Semicolon"= $true}

Leider entdeckte ich nur, dass diese Methode irgendwie die csv-Parsing bricht, wenn Zellen Zeilenumbrüche enthalten. Dies wird durch csv unterstützt, aber Microsofts Implementierung scheint abgehört zu werden. es hat auch irgendwie nicht Deutsch spezifische Zeichen erkennen. es die richtige Kultur geben nicht diese behaveiour ändern. Alle Dateien (csv und Skript) mit UTF-8-Codierung gespeichert. Zuerst schrieb ich den folgenden Code, um die CSV-Zelle für Zelle einzufügen.

$ex = New-Object -com "Excel.Application"
$ex.visible = $true;
$csv = "path\to\your\csv.csv";
$ex.workbooks.add();
$ex.activeWorkbook.activeSheet.Cells.NumberFormat = "@";
$data = import-csv $csv -encoding utf8 -delimiter ";"; 
$row = 1; 
$data | %{ $obj = $_; $col = 1; $_.psobject.properties.Name |%{if($row -eq1){$ex.ActiveWorkbook.activeSheet.Cells.item($row,$col).Value2= $_ };$ex.ActiveWorkbook.activeSheet.Cells.item($row+1,$col).Value2 =$obj.$_; $col++ }; $row++;}

Das ist aber extrem langsam, weshalb ich nach einer Alternative gesucht. Appearently Excel können Sie die Werte einer Reihe von Zellen, die mit einer Matrix setzen. So habe ich den Algorithmus in Blog die csv in einem Multiarray zu verwandeln.

function csvToExcel($csv,$delimiter){
     $a = New-Object -com "Excel.Application"
     $a.visible = $true

    $a.workbooks.add()
     $a.activeWorkbook.activeSheet.Cells.NumberFormat = "@"
     $data = import-csv -delimiter $delimiter $csv; 
     $array = ($data |ConvertTo-MultiArray).Value
     $starta = [int][char]'a' - 1
     if ($array.GetLength(1) -gt 26) {
         $col = [char]([int][math]::Floor($array.GetLength(1)/26) + $starta) + [char](($array.GetLength(1)%26) + $Starta)
     } else {
         $col = [char]($array.GetLength(1) + $starta)
     }
     $range = $a.activeWorkbook.activeSheet.Range("a1:"+$col+""+$array.GetLength(0))
     $range.value2 = $array;
     $range.Columns.AutoFit();
     $range.Rows.AutoFit();
     $range.Cells.HorizontalAlignment = -4131
     $range.Cells.VerticalAlignment = -4160
}

 function ConvertTo-MultiArray {
     param(
         [Parameter(Mandatory=$true, Position=1, ValueFromPipeline=$true)]
         [PSObject[]]$InputObject
     )
     BEGIN {
         $objects = @()
         [ref]$array = [ref]$null
     }
     Process {
         $objects += $InputObject
     }
     END {
         $properties = $objects[0].psobject.properties |%{$_.name}
         $array.Value = New-Object 'object[,]' ($objects.Count+1),$properties.count
         # i = row and j = column
         $j = 0
         $properties |%{
             $array.Value[0,$j] = $_.tostring()
             $j++
         }
         $i = 1
         $objects |% {
             $item = $_
             $j = 0
             $properties | % {
                 if ($item.($_) -eq $null) {
                     $array.value[$i,$j] = ""
                 }
                 else {
                     $array.value[$i,$j] = $item.($_).tostring()
                 }
                 $j++
             }
             $i++
         }
         $array
     } 
} 
csvToExcel "storage_stats.csv" ";"

Sie können über Code verwenden, wie es keine CSVs in Excel konvertieren sollte. Ändern Sie einfach den Pfad zur CSV und das Trennzeichen am unteren Ende.

In meinem Fall „Sept8“ in einer CSV-Datei mit R erzeugt wurde in „8-Sept“ umgewandelt, indem Excel 2013. Das Problem durch die Verwendung write.xlsx2 () Funktion in dem xlsx Paket gelöst wurde die Ausgabedatei zu erzeugen in xlsx-Format, das von Excel geladen, ohne unerwünschte Umwandlung werden kann. Also, wenn Sie eine CSV-Datei angegeben sind, können Sie versuchen, es in R zu laden und es in xlsx mit der write.xlsx2 () Funktion zu konvertieren.

Eine Abhilfe mit Google Drive (oder Zahlen, wenn Sie einen Mac):

  1. Öffnen Sie die Daten in Excel
  2. das Format der Spalte mit falschen Daten wird mit einem Text (Format> Zellen> Number> Text)
  3. Laden Sie die CSV in Google Drive, und öffnen Sie sie mit Google Tabellen
  4. Kopieren Sie die säumige Spalte
  5. Einfügen Spalte in Excel als Text (Bearbeiten> Inhalte einfügen> Text)

Alternativ, wenn Sie einen Mac für Schritt 3 können Sie die Daten in Zahlen öffnen.

(EXCEL 2016 und später, habe ich eigentlich nicht in älteren Versionen ausprobiert)

  1. Öffnen neue leere Seite
  2. Gehen Sie zur Registerkarte "Daten"
  3. Klicken Sie auf "Aus Text / CSV" und wählen Sie Ihre CSV-Datei
  4. Überprüfen Sie in der Vorschau, ob die Daten korrekt sind.
  5. In сase wenn einige Spalt Datum Klick „Bearbeiten“ umgewandelt werden, und geben Sie dann einen Text auswählen, indem Sie auf Kalender in dem Kopf der Spalte klicken
  6. Klicken Sie auf "Schließen & Load"

Okay, fand eine einfache Möglichkeit, dies in Excel 2003 bis 2007. Öffnen Sie ein leeres xls Arbeitsmappe zu tun. Gehen Sie dann zum Menü Daten importieren externe Daten. Wählen Sie Ihre CSV-Datei. Gehen Sie den Assistenten durch und dann in „Spaltendatenformat“ wählen Sie eine beliebige Spalte, die auf „Text“ gezwungen zu werden braucht. Dies wird, dass die gesamte Spalte als Textformat importieren verhindert Excel von dem Versuch, alle spezifische Zellen als Datum zu behandeln.

Dieses Problem ist noch in Mac Office 2011 und Office 2013, ich es geschieht nicht verhindern. Es scheint eine so einfache Sache.

In meinem Fall habe ich Werte hatte wie „12“ & „7 bis 12“ im CSV eingeschlossen korrekt in Anführungszeichen, diese wandelt automatisch in ein Datum in Excel, wenn Sie versuchen, es später konvertieren nur Klartext Sie würden eine Reihe Darstellung des Datums erhalten wie 43768. Zusätzlich es eine große Anzahl an Barcodes und EAN-Nummern zu 123E + Zahlen wieder gefunden umformatiert, die nicht zurück umgewandelt werden können.

Ich habe festgestellt, dass Google Drive Google Sheets tut die Zahlen Daten konvertieren. Die Barcodes zu tun haben Kommas in ihnen alle 3 Zeichen, aber diese sind leicht zu entfernen. Es behandelt CSVs wirklich gut, vor allem, wenn sie mit MAC / Windows-CSVs handelt.

Vielleicht irgendwann jemand speichern.

einfachste Lösung Ich dies nur herausgefunden heute.

  • Öffnen in Word
  • Ersetzen Sie alle Bindestriche mit en Striche
  • Speichern und Schließen
  • Öffnen in Excel

Wenn Sie die Bearbeitung abgeschlossen haben, können Sie es immer in Word öffnen wieder einmal die en Striche mit Bindestrichen zu ersetzen.

Einfügen Tabelle in Wort. Führen Sie eine Suche / ersetzen und ändern Sie alle - (Striche) in - (Doppelstrich). Kopieren und Einfügen in Excel. Kann für andere Symbole gleiche tun (/), usw. Wenn die Notwendigkeit, wieder zu einem Strich in Excel einmal zu ändern, formatieren Sie einfach den Spalt Text, dann die Änderung vornehmen. Hoffe, das hilft.

Ich tue dies für Kreditkartennummern, die für die wissenschaftliche Notation immer Umwandlung: Ich meine .csv in Google Tabellen importieren enden. Die Importoptionen ermöglichen nun die automatische Formatierung von numerischen Werten zu deaktivieren. Ich habe keine sensiblen Spalten Plain Text und Download als xlsx.

Es ist eine schreckliche Workflow, aber zumindest sind meine Werte, die die Art und Weise verlassen sie sein sollten.

Ich habe diesen VBA-Makro, die im Grunde den Ausgangsbereich als Text formatiert, bevor die Zahlen einfügen. Funktioniert perfekt für mich, wenn ich Werte einfügen möchten wie 8/11, 23/6, 1/3 usw. ohne Excel sie als Daten zu interpretieren.

Sub PasteAsText()
' Created by Lars-Erik Sørbotten, 2017-09-17
Call CreateSheetBackup

Columns(ActiveCell.Column).NumberFormat = "@"

Dim DataObj As MSForms.DataObject
Set DataObj = New MSForms.DataObject
DataObj.GetFromClipboard

ActiveCell.PasteSpecial

End Sub

Ich bin sehr daran interessiert zu wissen, ob diese für andere Menschen als gut funktioniert. Ich habe für eine Weile nach einer Lösung für dieses Problem suchen, aber ich habe nicht eine schnelle Lösung vba, um es vor der nicht enthielt Einfügen "vor dem Eingabetext gesehen. Dieser Code behält die Daten in ihrer ursprünglichen Form.

Wenn Sie ein Hochkomma zu Beginn des Feldes setzen, wird es als Text interpretiert werden.

Beispiel: 25/12/2008 wird '25/12/2008

Sie sind auch in der Lage den Feldtyp zu wählen, wenn importieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top