Sie benötigen ein Batch-Skript, um Daten von A.csv nach B.xls zu kopieren

3299
Abby

Ich bin ein Neuling im Batch-Scripting und brauche Hilfe.

Ich möchte den Inhalt einer CSV-Datei "A.csv" in das erste Arbeitsblatt "GenData" in eine vorhandene XLS-Datei "B.xls" kopieren.

B.xls enthält im zweiten Arbeitsblatt einige Makros für die Diagrammgenerierung aus den Daten, die in das erste Arbeitsblatt kopiert wurden.

Die Dateien A.csv und B.xls befinden sich im selben Ordner. Ich möchte dies auch für etwa 40 Ordner wiederholen, die diese beiden Dateien enthalten.

C:\Desktop\Abby\Folder1\A.csv  C:\Desktop\Abby\Folder40\A.csv 

PS: Ich möchte A.csv nicht in B.xls konvertieren, da B.xls andere Arbeitsblätter hat, die ich behalten möchte. Ich möchte den Inhalt von A.csv in das erste Arbeitsblatt der vorhandenen B.xls-Datei kopieren.

Ich habe ein paar Skripte ausprobiert, aber die vorhandene Datei B.xls wird überschrieben und die Diagrammgenerierung im zweiten Arbeitsblatt funktioniert nicht.

1
Sieht so aus, als würden Sie versuchen, von CSV nach XLS zu konvertieren, und XLS ist kein triviales Format. Wenn Sie eine XLS-Datei als reinen Text betrachten, sehen Sie, dass es kein triviales Dateiformat ist. Möglicherweise benötigen Sie ein Programm eines Drittanbieters, um es über die Befehlszeile auszuführen (wenn es überhaupt existiert), obwohl es einen Weg geben muss, der wahrscheinlich da draußen ist. Also habe ich CSV in XLS über die Befehlszeile http://stackoverflow.com konvertiert / fragen / 1858195 / convert-xls-to-csv-on-command-line Auf diese Weise werden Skripte verwendet. Nicht Batch-Skripte, sondern Skripte. barlop vor 8 Jahren 1
Sie könnten auch einen Programmierer dazu auffordern, ein kleines Befehlszeilenprogramm zu schreiben, um es dann http://stackoverflow.com/questions/26648641/c-sharp-convert-csv-to-xls-using-existing-csv-file zu setzen Das Programm auf SourceForge ist also für alle verfügbar barlop vor 8 Jahren 0
Nun, ich möchte die A.csv nicht nach B.xls konvertieren. Ich möchte den Inhalt von A.csv in die vorhandene B.xls-Datei kopieren, da B.xls andere Arbeitsblätter hat, die ich behalten möchte. Abby vor 8 Jahren 0
Für die Verwaltung von xls-Dateien ist das native Tool excel. Möglicherweise ist es einfacher, dies über VBA anstelle von Batch-Skript zu tun. Wie bereits kommentiert, kann das Batch-Skript den Inhalt einer Excel-Datei nicht ändern. Es gibt mehrere nützliche Anleitungen zur Verwendung von VBA. Máté Juhász vor 8 Jahren 0
Es scheint Lösungen in vbscript, VBA, Powershell zu geben. Übrigens, das Kopieren des Inhalts eines CSV in ein vorhandenes XLS beinhaltet die Konvertierung. Dazu wird eine Kopie der CSV erstellt bzw. die CSV in den Speicher eingelesen. Konvertieren Sie es in XLS und hängen Sie dieses XLS an das vorhandene XLS an barlop vor 8 Jahren 0

3 Antworten auf die Frage

0
SteveC

Mit PowerShell können Sie CSV lesen und in Excel speichern.

Schauen Sie sich diesen Beitrag an ... Konvertieren von CSV-Dateien oder Dateien in eine Excel-Arbeitsmappe

0
Mike Honey

Ich würde dazu das Power-Query-Add-In von Microsoft verwenden. In können Daten aus Dateien oder sogar Ordner von Dateien importieren. Es kann sich auch um die unvermeidlichen Transformationen kümmern, die auf dem Weg erforderlich sind.

Hier ist ein schöner Blogbeitrag, der zeigt, wie Power Query einen Ordner mit CSV-Dateien löscht:

http://devinknightsql.com/2013/08/13/extracting-data-from-multiple-files-with-power-query/

0
Some_Guy

Nur Spitballing hier, aber jemand, der sich mit VBA-Skripten auskennt, als ich, kann ich die Excel-Funktion "Importieren von Text" in einem Makro aufrufen?

Es scheint, als würde die Funktion "aus Text importieren" genau das tun, was das OP wünscht. Legen Sie alle CSV-Daten in ein neues Blatt und lassen Sie alles andere mit.

OP, ich weiß, es ist nicht genau das, wonach Sie suchen, aber wenn Sie keine durch ein Skript aufgerufene Lösung finden, ist dies vielleicht das, wonach Sie suchen?

enter image description here