Textdatei auslesen -> In Excel speichern (Java POI)

Hey Leute,

ich schilder euch kurz mein Problem. Ich habe eine Textdatei mit über 850.000 Zeilen (nur Zahlen). Gibt es eine elegante Variante mittels der Java POI z.B. 700 Zeilen auszulesen und diese dann in eine Excel-Tabelle zu schreiben, danach wieder 700 Zeilen auslesen und in die nächste Spalte der Excel-Tabelle schreiben.

Mein Problem bis hier ist nicht das Auslesen von immer 700 Zeilen aus der Textdatei, sondern mehr das schreiben in die Excel-Datei. Das Auslesen läuft bisher über eine For-Schleife bis zum Ende der Datei - aber egal wie und was ich versuche.. über den FileOutputStream wird die Excel-Datei jedes mal neu angelegt und überschrieben. Somit stehen am Ende des Programmablaufs immer nur die letzten 700 Zeilen der Txt-Datei in meiner Excel-Tabelle (genauer in Spalte A)..

Dabei will ich einfach nur 700 Zeilen kopieren, dieses in Spalte A schreiben, wieder 700 Zeilen kopieren und in Spalte B schreiben (Eigentlich genauso wie die Funktion .append() - nur scheint es die nicht in der Java POI zu geben..) ohne das die alte Excel-Tabelle jedes mal überschrieben wird.

Vielleicht hatte ja jemand ein ähnliches Problem und eine Lösung gefunden? Sonst bleibt mir nur das händiche kopieren der ganzen Zeilen in die jeweilige Spalte und das scheint mir eine Mammutt-Aufgabe. Da es nicht nur eine Text-Datei gibt sondern 56 und alle haben ca. die selbe Anzahl an Zeilen...

lesen, Microsoft Excel, Schreiben, programmieren, Java, Poi, Textdatei
Powershell Script, dass Zeilenelemente einer Textdatei vertauscht. Ausgabe wird nicht korrekt formatiert?

Folgendes Problem: Ich habe diesen Quelltext hier: $lines = 0

$output = @()

(Get-Content -Path "D:\Data_24.txt" | foreach {

$elements = $_.Trim().Split(',')

if ($elements.Count -ge 6) {

$newElements = $elements[2], $elements[1], $elements[0], $elements[3], $elements[4], $elements[5]

$output += [PSCustomObject]@{ Elements = $newElements -join ',' }

}

$lines++

# Schreibe das Array in die CSV-Datei alle 700 Zeilen

if ($lines % 700 -eq 0) {

$output | Export-Csv -Path "output.csv" -NoTypeInformation -Append -Encoding UTF8

$output = @() # Leere das Array nach dem Schreiben

Write-Host "Schreibe Zeilen: $lines"

}

}) | Out-Null

# Schreibe das restliche Array in die CSV-Datei

$output | Export-Csv -Path "output.csv" -NoTypeInformation -Append -Encoding UTF8

Write-Host "Verarbeitung abgeschlossen. Gesamtanzahl der Zeilen: $lines"

...für eine Powershelldatei, die aus einer vorhandenen Textdatei alle Zeilen auslesen soll bestimmte Zeilenelemente vertauscht und das Ergebnis in einer neuen CSV - Datei abspeichern soll. Dies funktioniert soweit auch, allerdings wird aus irgendeinem Grund die komplette UTF8 Formatierung ignoriert, was bedeutet, dass bei einigen Zeilen, die in der Ausgangsdatei korrekt dargestellt werden in der neuen Datei ausschließlich Zeichensalat entsteht.

Hat einer von euch eine Idee wie man hier das Problem beheben kann? Thx schon im Voraus...

Konsolen, Formatierung, Programmiersprache, Script, Textbearbeitung, PowerShell, Textdatei