Ist csv mit mehreren Tabs / Sheets möglich?

9

Ich rufe einen Webservice an und die Daten vom Webservice sind im CSV-Format. Wenn ich versuche, Daten in xls / xlsx zu speichern, bekomme ich mehrere Blätter in einer Arbeitsmappe. Also, wie kann ich die Daten in csv mit MultipleTab / Blätter in c # speichern.

Ich weiß, csv mit mehreren Tabs ist nicht praktisch, aber gibt es eine verdammte Weise oder eine Bibliothek, um Daten in CSV mit mehreren Tabs / Blatt zu speichern?

    
hello temp9 13.04.2015, 21:12
quelle

4 Antworten

8

CSV nimmt als Dateiformat eine "Tabelle" von Daten an; in Excel ausgedrückt ist das ein Blatt einer Arbeitsmappe. Es handelt sich zwar nur um einfachen Text, und Sie können ihn beliebig interpretieren. Das CSV-Standardformat unterstützt jedoch nicht das, was Ihr Vorgesetzter denkt.

Sie können ein paar Möglichkeiten ausprobieren:

  • Verwenden Sie für jedes Blatt eine andere Datei mit verwandten, aber unterschiedlichen Namen wie "Book1_Sheet1", "Book1_Sheet2" usw. Sie können dann Gruppen verwandter Dateien anhand des Textes vor dem ersten Unterstrich finden. Dies ist am einfachsten zu implementieren, erfordert jedoch, dass die Benutzer mehrere Dateien pro logischer "Arbeitsmappe" durchlaufen, und wenn Sie im Shuffle verloren gehen, haben Sie diese Daten verloren.

  • Machen Sie die obigen Schritte und "zippen" Sie die Dateien in ein einzelnes Archiv, das Sie verschieben können. Sie behalten den reinen CSV-Vorteil der oben genannten Option und den Vorteil, dass Sie eine Datei anstelle mehrerer verschieben müssen, aber den Nachteil, dass Sie das Archiv komprimieren müssen, um zu den eigentlichen Dateien zu gelangen. Wenn Sie in .NET 4.5 arbeiten, haben Sie Zugriff auf eine integrierte ZipFile-Implementierung. Wenn dies nicht der Fall ist, können Sie die Open-Source-Software DotNetZip oder SharpZipLib verwenden, die Sie programmgesteuert erstellen und erstellen können Verwenden Sie Standard-Windows-ZIP-Dateien. Sie können auch die fast universelle .tar.gz (aka .tgz) -Kombination verwenden, aber Ihre Benutzer benötigen entweder Ihr Programm oder ein Komprimierungsprogramm von Drittanbietern wie 7Zip oder WinRAR, um das Archiv aus einer Reihe von exportierten CSVs zu erstellen. p>

  • Implementieren Sie ein Quasi-CSV-Format, bei dem eine Leerzeile (die nur einen Zeilenumbruch enthält) als "Tab-Trennzeichen" fungiert und Ihr Parser eine neue Zeile mit Spaltenüberschriften erwartet, gefolgt von Datenzeilen in der neuen Konfiguration. Diese Variante der Standard-CSV-Datei kann von anderen CSV-Konsumenten möglicherweise nicht gelesen werden, da sie nicht dem erwarteten Dateiformat entspricht. Daher würde ich Ihnen empfehlen, die Erweiterung ".csv" nicht zu verwenden, da dies die Benutzer verwirren und frustrieren würde um es in anderen Anwendungen wie Tabellen zu öffnen.

KeithS 13.04.2015 22:07
quelle
3
  

Wenn ich versuche, Daten in xls / xlsx zu speichern, bekomme ich mehrere Blätter in einer Arbeitsmappe.

Ihre Antwort ist in Ihrer Frage, verwenden Sie nicht text / csv (was sicherlich nicht mehrere Blätter tun kann, es kann nicht einmal ein Blatt tun; es gibt keine so etwas wie ein Blatt in Text / CSV obwohl es in wie einige Anwendungen wie Excel oder Calc wählen, um es in ein Format zu importieren, das Blätter hat) aber speichern Sie es als xls, xlsx, ods oder ein anderes Format, das Blätter hat.

Sowohl XLSX als auch ODS sind viel komplizierter als text / csv, sind aber wahrscheinlich die geradlinigsten ihrer jeweiligen Formate.

    
Jon Hanna 13.04.2015 21:19
quelle
2

Ich benutze diese Bibliothek schon seit einer Weile,

Ссылка

in meinen Projekten, um Daten und Struktur von Formaten wie xls (x), csv und xml zu importieren, aber Sie können sicher auch in diesen Formaten speichern (alle vom Kunden)!

Ich hoffe, das kann Ihnen helfen, werfen Sie einen Blick auf Online-Demo,

Ссылка

Blick in den Quellcode oder Datei ein Problem auf GH? aber ich denke, dass du die meiste Kodierung auf deinem eigenen tun musst

    
Kresimir Pendic 13.04.2015 22:30
quelle
0

Ich denke, Sie möchten die Größe Ihrer Excel-Datei reduzieren. Wenn ja, dann können Sie es tun, indem Sie es als xlsb, d. H. Excel Binary Workbook-Format speichern. Außerdem können Sie die Dateigröße reduzieren, indem Sie alle leeren Zellen löschen.

Ich hoffe, dies beantwortet Ihre Bedenken.

    
Asim Khan 28.12.2016 08:34
quelle

Tags und Links