Как вставить правильный DataType в формат Excel 97-2003 - PullRequest
0 голосов
/ 26 октября 2009

Я не могу найти правильный DataType для вставки в формат EXCEL 97-2003. Я могу вставить, но при просмотре документа Excel 97-2003 в каждом столбце отображается номер, сохраненный в виде текста. Даже при вставке Double из C # Excel все равно распознает его как числа, сохраненные в виде текста, и просит зрителя преобразовать в число. Любая помощь будет принята с благодарностью.

foreach (DataRow drow in DataTable DT) 
{ 
 cmd.CommandText = "INSERT INTO [LHOME$]([Date], [Owner], [MAKE], [BUY],  
[OVERAGE], [SUM]) " + "VALUES(" + "'" + drr.ItemArray[0].ToString() + "'" + ","            + "'"     + drr.ItemArray[1].ToString() + "'" + "," + "'" + drr.ItemArray    [2].ToString() + 

Можно ли просто отключить проверку фоновых ошибок в Excel 2007?

1 Ответ

0 голосов
/ 26 октября 2009

Попробуйте указать типы данных с помощью параметров команды:

command = new OleDbCommand(
    "INSERT INTO [LHOME$]([Date], [Owner], [MAKE], [BUY], [OVERAGE], [SUM]) " +
    "VALUES (?, ?, ?, ?, ?, ?)", connection);

command.Parameters.Add(
    "Owner", OleDbType.Varchar, drr.ItemArray[0], "Owner");
...
command.Parameters.Add(
    "Sum", OleDbType.Double, drr.ItemArray[5], "Sum");

adapter.InsertCommand = command;

Список доступных типов данных см. Здесь: http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbtype.aspx

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