powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как достучаться до Excel
5 сообщений из 5, страница 1 из 1
Как достучаться до Excel
    #32093183
Zsm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Zsm
Гость
Требуется написать приложение, которое бы делало некоторые изменения в файле Excel'а (даже если самого Excel'а не установлено, то есть видимо через ODBC). Давно на Fox'e это делал как раз через ODBC, а на C# что-то не получается. Может кто подскажет, как.
...
Рейтинг: 0 / 0
Как достучаться до Excel
    #32093191
SCS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SCS
Гость
используй возможности ADO.NET
первая строка будет "съедена" под названия столбцов

Код: plaintext
1.
2.
3.
4.
DataSet          ds=new DataSet( "EXCEL" );
OleDbConnection  cn=new OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4 . 0 ;Extended Properties=Excel  8 . 0 ;Data Source=c:\\temp\\book1.xls;");
OleDbDataAdapter ad=new OleDbDataAdapter( "SELECT * FROM [Sheet1$]" , cn);
                 ad.Fill(ds);
DataTable        tb=ds.Tables[ 0 ];
...
Рейтинг: 0 / 0
Как достучаться до Excel
    #32093206
Zsm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Zsm
Гость
Интересно, но я пытался сделать тоже самое, но при помощи визарда. Он ругался неприличными словами и говорил что так нельзя. Возможно что-то с провайдером не то. Не понятно! Но все равно спасибо, сейчас пойду попробую.
...
Рейтинг: 0 / 0
Как достучаться до Excel
    #32104498
Фотография Nikulin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как решить проблему такую. Например файл Екселя создан в русской версии. И Sheet1 называется лист1, поэтому такой запрос вернет ошибку.
OleDbDataAdapter ad=new OleDbDataAdapter("SELECT * FROM [Sheet1$]", cn);

Можно конечно написать два запроса и по ошибке запрашивать снова, но как-то не красиво.
OleDbDataAdapter ad=new OleDbDataAdapter("SELECT * FROM [Sheet1$]", cn);
далее
OleDbDataAdapter ad=new OleDbDataAdapter("SELECT * FROM [Лист1$]", cn);


Может как по другому можно?
...
Рейтинг: 0 / 0
Как достучаться до Excel
    #32104557
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
OleDbConnection cn=new OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4 . 0 ;Data Source=d:\\book1.xls;Extended Properties=Excel  8 . 0 ;");
cn.Open();
DataTable dt=cn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[]{null, null, null,  "TABLE" });

вернет все таблицы (шиты) в ёкселе. найдешь нужную и запросишь содержимое
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как достучаться до Excel
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]