Я нашел более эффективный способ решения этой проблемы, мои ссылки приведены по 2 ссылкам ниже
http://support.microsoft.com/kb/316934
http://www.codeproject.com/Articles/37055/Working-with-MS-Excel-xls-xlsx-Using-MDAC-and-Oled
Как правило, не используйте адаптер данных, набор данных и параметры для вставки строк в Excel (у меня это никогда не работало), вместо этого запускайте вставку SQL из кода напрямую, используя объект команды
Вот что вам нужно сделать
- Объявление широкого поля как MEMO вместо строки или CHAR.
"CREATE TABLE WorkSheetName (поле1 INT, поле2 MEMO, поле3 ...);"
- Создайте оператор вставки как
"INSERT INTO WorkSheetName (field1, field2, ...) VALUES (1234, 'Любая длинная строка здесь ...', ...)"
Объявите команду DbCommand для запуска операторов Create table и Insert выше, здесь я использую команду obj из библиотеки предприятия
DbCommand dbCommand = m_dbConnection.CreateCommand ();
dbCommand.CommandText = "Создать таблицу ...";
dbCommand.CommandType = CommandType.Text;
dbCommand.ExecuteNonQuery (); * * тысяча двадцать-одна
dbCommand.CommandText = "Вставить в ...";
dbCommand.CommandType = CommandType.Text;
dbCommand.ExecuteNonQuery ();