2012-06-01 8 views
5

Ich verwende Microsoft Interop, um Excel-Dateien in CSV-Dateien zu konvertieren. Ich benutze die Funktion sheet.SaveAs.So entfernen Sie nachgestellte leere Zeile/Spalten

Meine erste Excel-Tabelle enthält Daten von A1 bis AZ Spalten für 100 Zeilen. Ich brauche in der CSV nur die Daten von A1 nach AP und nur für 50 Zeilen.

Mit der Range-Funktion lösche ich die row51-100, lösche den Inhalt für die gleichen Zeilen, immer noch, wenn ich als CSV speichern, finde ich Zeilen 51-100 wie folgt: (nur Kommas). Ich möchte diese Kommas nicht in CSV sehen.

,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,, ,,,,

Das gleiche für Spalte AQ-AZ auch. Ich möchte diese Daten nicht in CSV. Ich lösche, lösche Inhalte mit der Bereichsfunktion, aber diese AQ-AZ-Spalten erscheinen in CSV-Dateien als ",,,,,,,,,,,,,,,,".

Gibt es eine Möglichkeit, XLS als CSV mit nur Range zu speichern, die ich in der CSV-Datei sehen möchte. Gibt es eine Möglichkeit, den Bereich zu steuern, der in die CSV-Datei aufgenommen wird?

Kurz gesagt, ich möchte in CSV-Datei nur die Daten für die Spalte A1 bis AP für 50 Zeilen sehen. Kein leeres Nachzeichen "," s. Gibt es einen Weg?

Antwort

3

Das Problem, das Sie beschreiben, scheint wie ein "Last Cell" -Ausgabe. Die letzte Zelle ist das ursprüngliche Ende Ihrer Daten, selbst nachdem Sie Zeilen/Spalten gelöscht haben. Hier

ist, was Microsoft dazu zu sagen hat: How to reset the last cell in Excel

Ich scheine eine programmatische Art und Weise, dies zu tun zu erinnern, aber für das Leben von mir, ich kann nicht mehr, wie.

Nachdem Sie diese Informationen angesehen haben, könnten Sie vielleicht überdenken, wie Sie das tun können.

Vielleicht könnten Sie einfach die Daten lesen, die Sie benötigen, und sie selbst ausschreiben.

d.h. Für jede Zeile in-Bereich, erhalten, die Zeile als einen Wert, der ein Array von Objekt sein, Umrechnen in Array von String, string.join mit dem Begrenzungszeichen als ein Komma und Anfügen in eine CSV-Datei.

+0

Das hat bei mir funktioniert. Wählte einfach die leeren Spalten und dann unter dem Menü Löschen habe ich Alle ausgewählt. – wsams

+0

@wsams, die mich nicht funktionierte, was war Arbeit, die aufgefüllten Spalten in einem neuen Arbeitsblatt zu kopieren und die alte CSV-Datei zu überschreiben. –

0

Wählen Sie einfach die nachgestellten leeren Spalten in Excel, klicken Sie mit der rechten Maustaste und wählen Sie: Inhalt löschen. Dann speichern.

1

Das Löschen des Inhalts, wie in einer anderen Antwort vorgeschlagen, funktionierte nicht für mich, was Arbeit war Kopieren der aufgefüllten Spalten in einem neuen Arbeitsblatt und Überschreiben der alten CSV.