Nico R.: CSV-Export-Problem wegen tausender Spalten in Excel-Tabelle

Hallo,

ich hoffe mein Problem ist nicht zu themenfremd. Es gibt in meinem Projekt eine CSV-Importfunktion, mit der eine Excel-Liste eingelesen und in die Datenbank geschrieben wird. Die Excel-Liste, um die es geht, habe ich vorab zum Testen geschickt bekommen und dann mit OpenOffice als csv gespeichert. Das hat wunderbar funktioniert.

Nun nutzen die Anwender aber Excel. Und wenn ich von dort exportiere, ensteht eine über 1 MB große Datei mit zehntausenden überflüssigen Semikolons. Das Problem ist (vermutlich), dass das Blatt die Spalten A bis XFD umfasst. Genutzt werden von der Tabelle aber nur A bis AD. Ich habe die Spalten ab AE daher ausgeblendet. Beim Export ändert sich leider nichts, es wird weiter mit Semikolons aufgefüllt.

Reicht das Ausblenden nicht aus? Muss/kann man die Spalten richtig löschen? Habt ihr eine Idee? Ich bin leider so gar kein Excel-Auskenner und konnte auch nichts finden, was mir weiterhilft.

Schöne Grüße

Nico

  1. Hallo,

    das Problem hatte ich auch einmal. Es ist (theoretisch) möglich diese Spalten mit Excel zu löschen, hat aber nicht funktioniert, da Excel sich bei dieser Mamutaufgabe weghängt. Mit STRG +Pfeillinks ans Ende springen, die Spalte markieren, dann mit der Scrollbar rechtsunten zurück nach vorne und mit Shift klick alle Spalten markieren die weg können. Dann im Menü Start > löschen > Blattspalten löschen.
    Kannst du die Semikolons nicht in der csv weglöschen? Z.B. mit Notepad++ öffnen, ";;;" suchen und mit "" (nix) ersetzen...

    Fred

    --
    I � Unicode
    1. Hello,

      Notepad++ öffnen, ";;;" suchen und mit "" (nix) ersetzen...

      Auch eine gute Idee.
      Aber die RegEx-Einstellung nehmen und einen Dollar anhängen.
      Einen Dollar sollte das Nico wert sein ;-)

      Glück Auf
      Tom vom Berg

      --
      Es gibt soviel Sonne, nutzen wir sie.
      www.Solar-Harz.de
      S☼nnige Grüße aus dem Oberharz
  2. Hello Nico,

    Reicht das Ausblenden nicht aus? Muss/kann man die Spalten richtig löschen? Habt ihr eine Idee? Ich bin leider so gar kein Excel-Auskenner und konnte auch nichts finden, was mir weiterhilft.

    Das ist aber ungewöhnlich.

    Excel exportiert nach meiner Kenntnis immer soviele Spalten, wie maximal benutzt wurden. Es könnte also sein, dass in einer einzigen Zeile in einer extrem rechten Spalte ein Wert, eine Formel, eine Formatierung, oder sonst ein Unsinn drin steht.

    Oder jemand hat (am Anfang) mal das gesamte Datenblatt markiert und mit "Zellen formatieren" behandelt. Sowie ein Format festgelegt wurde, wird die Zelle als benutzt angesehen.

    Du könntest jetzt mittels eines Skriptes die CSV-Datei Zeile für Zeile einlesen, und nur die gewünschte Anzahl Spalten in eine neue Datei übernehmen. Das Umkopieren geht selbst mit PHP in Nullkommanix.

    Glück Auf
    Tom vom Berg

    --
    Es gibt soviel Sonne, nutzen wir sie.
    www.Solar-Harz.de
    S☼nnige Grüße aus dem Oberharz
    1. Hallo,

      Das ist aber ungewöhnlich.

      das war auch mein Gedanke. Da ich aber auch seit Ewigkeiten kein Excel mehr angefasst hab, war meine Schlussfolgerung, MS hats kaputt gemacht.

      Weil du auf andere Möglichkeiten gekommen bist, gibt’s von mir ein +

      Gruß
      Kalk

      1. Hello,

        Weil du auf andere Möglichkeiten gekommen bist, gibt’s von mir ein +

        Schankedön. Ich bin gespannt auf die Lösung des Rätsels.

        Glück Auf
        Tom vom Berg

        --
        Es gibt soviel Sonne, nutzen wir sie.
        www.Solar-Harz.de
        S☼nnige Grüße aus dem Oberharz
    2. Hallo an alle,

      danke für eure Hilfe. Ich antworte jetzt mal nur hier, weil sich vieles überschneidet. Und der entscheidende Hinweis war dieser hier...

      Excel exportiert nach meiner Kenntnis immer soviele Spalten, wie maximal benutzt wurden. Es könnte also sein, dass in einer einzigen Zeile in einer extrem rechten Spalte ein Wert, eine Formel, eine Formatierung, oder sonst ein Unsinn drin steht.

      Ich habs einfach nicht gesehen: Es gab eine Spalte, mit einer verbundenen Zelle, und zwar von vorne bis wirklich ganz hinten. Lösche ich die raus, ignoriert Excel automatisch die Leerspalten ab Spalte AE.

      Vermutlich ist ja die Ausweitung auf die maximale Spaltenzahl auch erst durch die verbundene Zelle entstanden? Ich weiß es nicht. Auf jeden Fall, weiß ich jetzt, was an der Tabelle zu ändern ist. Ein Löschen der Spalten, egal in welcher Art, hat nämlich partout nicht funktioniert.

      Schöne Grüße

      Nico

      1. Hallo,

        Vermutlich ist ja die Ausweitung auf die maximale Spaltenzahl auch erst durch die verbundene Zelle entstanden?

        logisch. Wenn du Excel sagst, mach aus dieser kompletten Zeile eine einzige Zelle, dann hat Excel auch nicht weniger als das zu nehmen…

        Gruß
        Kalk

  3. Hallo Nico R.,

    ich hoffe mein Problem ist nicht zu themenfremd.

    Doch. Komplett. Was solls. Ist ja nicht so, dass die Warteschlange dreimal um den Server reicht. Aber es gibt definitiv besser geeignete Foren für Excelfragen.

    dass das Blatt die Spalten A bis XFD[1] umfasst

    Echt jetzt? Das ist das Maximum von 16384 Spalten. Benutzen die die wirklich ALLE? Oder ist da irgendein Müll passiert und in Wahrheit geht der Datenbereich nur bis BC oder so? Da müsste man dann erstmal aufräumen, die wahre letzte Spalte finden und den Rest bis XFD löschen (erste freie Spalte per Klick auf Titel markieren, dann Strg+Shift+ drücken um bis Spalte XFD zu erweitern, dann "Löschen" Funktion aus dem Start-Ribbon anwenden. Dann erstmal SPEICHERN, damit Excel die Grenzen neu bestimmt).

    Du kannst ihm jedenfalls nicht sagen, dass nur die Spalten A bis AD exportiert werden sollen. Das kannst Du ggf. tricksen, mit einer zweiten Excel-Datei, die die große Exceldatei als Datenquelle verwendet und nur die gewünschten Spalten importiert.

    Eine Alternative wäre ein zweites Tabellenblatt, wo die gewünschten Spalten hinkopiert werden. CSV-Export speichert immer nur das aktuelle Blatt.

    Update: Für das "-1" hätte ich dann auch gerne einen Verbesserungsvorschlag.

    Rolf

    --
    sumpsi - posui - obstruxi

    1. Ist es Zufall, dass mich das jetzt an eXtra Fat :-D erinnert? ↩︎

    1. Mein lieber Rolf,

      Update: Für das "-1" hätte ich dann auch gerne einen Verbesserungsvorschlag.

      Vielleicht liegt das an deiner aggressiv negativen Haltung gegen Integration von eng verwandten Themen? Antworten zur Einbindung von externen Daten in eine mysql Datenbank oder ähnlich würde ich hier (bisher) auch immer suchen.

      Aber vermutlich muss ich mir nun auch ein anderes Forum suchen, bei soviel Ignoranz und Intoleranz!

      Grüße
      Robert

      1. Hallo

        Mein lieber Rolf,

        Update: Für das "-1" hätte ich dann auch gerne einen Verbesserungsvorschlag.

        Vielleicht liegt das an deiner aggressiv negativen Haltung gegen Integration von eng verwandten Themen?

        Wo hast du eine „aggressiv negative… Haltung“ gelesen? Der Verweis darauf, dass es sehr viel geeignetere Foren für MS-Office-Themen gibt, kann es ja wohl nicht sein.

        Antworten zur Einbindung von externen Daten in eine mysql Datenbank oder ähnlich würde ich hier (bisher) auch immer suchen.

        Das sehe ich prinzipiell auch so. Der Import in eine Datenbank wurde vom OP ja auch explizit erwähnt. Zudem gab es ja auch zielführende Antworten. Dass es andere Foren/Plattformen gibt, in denen die konkrete Fragestellung besser aufgehoben ist, steht, zumindest für mich, außer Zweifel.

        Tschö, Auge

        --
        „Habe ich mir das nur eingebildet, oder kann der kleine Hund wirklich sprechen?“ fragte Schnapper. „Er behauptet, nicht dazu imstande zu sein“ erwiderte Victor. Schnapper zögerte (…) „Nun …“ sagte er schließlich, „ich schätze, er muss es am besten wissen.“ Terry Prattchett, Voll im Bilde
        1. Hallo Auge,

          Das sehe ich prinzipiell auch so. Der Import in eine Datenbank wurde vom OP ja auch explizit erwähnt

          Ich hätte mein "Themenfremd? - Doch. Komplett." sicherlich vorsichtiger formulieren können. Wenn es um die Datenbereitstellung für Webseiten (oder DBs generell) geht, können wir versuchen, zu helfen.

          Was ich ja auch getan habe. Also - versucht zu helfen. Eine verbundene Zelle hätte das nicht geheilt. Das hat Nico dann selbst entdeckt.

          Rolf

          --
          sumpsi - posui - obstruxi
          1. Hallo

            Das sehe ich prinzipiell auch so. Der Import in eine Datenbank wurde vom OP ja auch explizit erwähnt

            Ich hätte mein "Themenfremd? - Doch. Komplett." sicherlich vorsichtiger formulieren können.

            Ja, hättst'e können, aber nicht müssen, weil du – zumindest nach meinem Empfinden – weder unvorsichtig noch aggresiv formuliert hast. Und das sehe nicht nur ich so. 🤷

            [edit]: Nimm dir lieber soetwas zu Herzen.

            Tschö, Auge

            --
            „Habe ich mir das nur eingebildet, oder kann der kleine Hund wirklich sprechen?“ fragte Schnapper. „Er behauptet, nicht dazu imstande zu sein“ erwiderte Victor. Schnapper zögerte (…) „Nun …“ sagte er schließlich, „ich schätze, er muss es am besten wissen.“ Terry Prattchett, Voll im Bilde
        2. Hallo allerseits,

          so hab ichs auch empfunden. Dass es "komplett" themenfremd sein sollte, hat mich zwar verwundert, aber als aggressiv empfand ich das nicht. Zumal Rolf ja zusätzlich noch konkrete Hilfe gab.

          Schöne Grüße

          Nico