Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Экспорт в Excel, using Microsoft.Jet.OLEDB.4.0​​

152  
Murr_0001 знакомое лицо24.07.18 18:31
Murr_0001
24.07.18 18:31 

Экспорт в Excel, using Microsoft.Jet.OLEDB.4.0


Наткнулся на забавную подсистемку и ее глюки.


Системка указана выше. Есть для х86, есть для х64. Но ставится только одна.


Дальше все просто:

OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\filename.xsl;Extended Properties=\"Excel 8.0;Readonly=False;HDR=Yes\"";
conn.Open();
OleDbCommand cmd1 = new OleDbCommand();
cmd1.Connection = conn;

foreach (DataTable dt in DTs)
{
string sql = CreateTableSQL(dt);
Debug.Print(sql);
cmd1.CommandText = sql;
cmd1.ExecuteNonQuery();
}

conn.Close();



CreateTableSQL() - должна вернуть скл-строку для создания таблицы.

По результату выполнения в екселовском файле будет записан "лист" с именем таблицы и набором колонок как указано в скл.

Потом так же склом можно добавлять данные.


Глюк 1. Microsoft.Jet.OLEDB.4.0 ставится с Офисом. Поменять с х86 на х64 потом можно только сносом офиса.

Глюк 2. Проект использующий Джэт - должен быть именно х86 или х 64. АниЦПУ - не катит.

Глюк 3. Вся система чувствительна к... расширению в имени фала. Ошибка в одной букве и... база будет РеадОнли... хотя файла не будет.

#1