AHK Convert .csv in .xls Excel Topic is solved

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

User avatar
Heloo1982
Posts: 30
Joined: 12 Jan 2017, 07:39

AHK Convert .csv in .xls Excel

11 Sep 2018, 03:34

Hallo zusammen,

bei mir zickt gerade eine eine CSV Datei und will nicht auf den SQL-Server, der Upload bricht ständig ab. Öffne ich diese in Excel und speicher als .xls ab, funktioniert der Upload reibungslos. Der Export/Import soll jedoch automatisiert ablaufen, ich checke gerade nebenher die CSV wo der Fehler herkommt. Als Plan B hab ich mir überlegt könnte man evtl. ein AHK-Skript automatisiert laufen lassen, was die CSV in eine Excel konvertiert. Bei einer Recherche im Netz habe ich nur den umgekehrten Fall gefunden (Excel to CSV).

Soweit bin ich gekommen:

Code: Select all

SetWorkingDir %A_ScriptDir%

list := ""
Loop, Read, %A_ScriptDir%\test.csv
{
	if(A_Index != 1)
	{
		
		list := list . "`n" . A_LoopReadLine
		Upload := StrReplace(list,";",{`t})
	}
}

FileAppend, %Upload%, %A_ScriptDir%\Upload.xls, UTF-8
Grundsätzlich funktioniert das bereits, was mich selber überrascht hat :bravo:
Leider werden die Daten je Zeile in einer Zelle geschrieben und ich suche gerade nach einer Lösung, den Separator ";" mitzugeben und die Daten in Zellen zu trennen.
Geht das ohne COM?
Excel & AutoHotkey Tutorials.

Das hab ich versucht zu verstehen, aber da bin ich glaub raus.
Vielen Dank im Voraus und LG.
User avatar
Heloo1982
Posts: 30
Joined: 12 Jan 2017, 07:39

Re: AHK Convert .csv in .xls Excel

11 Sep 2018, 06:53

Thank you very much, the Code works perfect.

Code: Select all

SetWorkingDir %A_ScriptDir%

file_to_open := % A_ScriptDir "/test.csv"
xl := ComObjCreate("Excel.Application")
xl.Workbooks.Open(file_to_open)
SplitPath, file_to_open, , OutDir, , OutNameNoExt
xl.ActiveWorkbook.SaveAs(OutDir . "\" . OutNameNoExt . ".xls", 56)   ; same folder, same name, .xls extension 
xl.ActiveWorkbook.Close
xl.quit

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 51 guests