Excel VBA сохранить CSV-файл в формате UTF8 - PullRequest
0 голосов
/ 29 июня 2018
Sub LoadData(WkSht As Worksheet, DataSourceName As String, MySQLTable As String, Append As String)

Dim CSVFile As String

WkSht.Cells.Replace ",", ""

CSVFile = "\\ant.domain.com\dept\Extracts\" & DataSourceName & ".csv"

'Save file to desktop.
WkSht.Select
ThisWorkbook.SaveAs Filename:=CSVFile, FileFormat:=xlCSVUTF8

Conn.Open "DSN=cobra2;"

'Delete old data if this table is to be wiped every time.
If Append <> "Append" Then
    Conn.Execute "TRUNCATE TABLE " & MySQLTable
End If

'Load new data in csv at high speed.
Conn.Execute "LOAD DATA LOCAL INFILE '" & Replace(CSVFile, "\", "\\") & "' " & _
             "INTO TABLE " & MySQLTable & " " & _
             "FIELDS TERMINATED BY ',' " & _
             "LINES TERMINATED BY '\r\n' " & _
             "IGNORE 1 LINES"

Set Conn = Nothing

End Sub

Приведенный выше код обычно работает достаточно, чтобы выдать ошибку символа UTF8 при попытке выполнить conn для экземпляра MySQL 5.7 только с FileFormat: = xlCSV. Я попытался внести вышеуказанные изменения, чтобы обеспечить соответствие кодировке UTF8, и мне показалось странным, что мы не смогли найти ничего, что могло бы заменить ошибку.

В чем может быть проблема с кодом?

1 Ответ

0 голосов
/ 03 июля 2018

FileFormat: = xlCSVUTF8

В настоящее время недоступно в автономной версии Excel 2016. Он доступен только в версии O365 Excel, где-то около 16.0.7726

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...