Использование Excel.Interop Я хочу открыть файл .txt или .csv и сохранить его как файл Excel. В большинстве случаев этот простой код работает:
Dim Exl As New Excel.Application()
Dim wb1 As Excel.Workbook = Exl.Workbooks.Open("C:\MyFile.txt", Format:=4)
wb1.SaveAs("C:\MyFile.xlsx", FileFormat:=Excel.XlFileFormat.xlOpenXMLWorkbook)
wb1.Close()
Exl.Quit()
Однако иногда преобразуемый .txt / .csv содержит специальные символы, такие как ü, ä или ö - и в этих случаях эти символы заменяются другими символами в полученном файле Excel.
Проблема заключается в том, что входные файлы имеют кодировку UTF-8. Поэтому я попытался изменить вторую строку на
Dim wb1 As Excel.Workbook = Exl.Workbooks.Open("C:\MyFile.txt", Format:=4, Origin:=61005)
, который тоже не работает.
Другой вариант, с которым я столкнулся, - просто использовать OpenText
вместо Open
, однако теперь я получаю исключение:
Dim wb1 As Excel.Workbooks
wb1.OpenText("C:\MyFile.txt")
Exl.wb1.SaveAs("C:\MyFile.xlsx", FileFormat:=Excel.XlFileFormat.xlOpenXMLWorkbook)
wb1.Close()
Exl.Quit()
Спасибо за любую помощь!