Я пытаюсь использовать RODBC для записи в файл Excel2007 и продолжаю получать ошибки.Я свел проблему к этому очень простому случаю, к 1-строчному элементу data.frame с символами, цифрами, датой и логическими типами данных:
toWrite = data.frame( Name = "joe" , Date = as.Date("2011-01-01"), Value = 2 , Paid = FALSE )
xlFile = odbcConnectExcel2007( "REPLACE_WITH_XLSB_FILE_PATH" , readOnly = FALSE )
sqlSave( xlFile , toWrite , tablename = "worksheet1" , rownames = FALSE )
Ошибка:
Error in sqlSave(xlFile, toWrite, tablename = "worksheet1", rownames = FALSE) :
[RODBC] Failed exec in Update
22018 39 [Microsoft][ODBC Excel Driver]Invalid character value for cast specification
In addition: Warning message:
In odbcUpdate(channel, query, mydata, coldata[m, ], test = test, :
character data 'FALSE' truncated to 1 bytes in column 'Paid'
Если я преобразовываю и дату, и логические столбцы в символ, тогда все работает нормально.Проблема в том, что теперь они являются символами в Excel и не могут использоваться в качестве предполагаемых типов данных без преобразования.Я копался в коде sqlSave, и он, кажется, делает правильные вещи.Кто-нибудь еще сталкивался с этой проблемой?