Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Работа с Exel

422
06 июня 2006 года
Dimarik
181 / / 12.02.2005
Вот стоит такая задача, необходимо из Exel-файла выводить информацию в браузер, подскажите как вообще работать с таким источником даных? Дайте хотя бы ссылочку по этой теме.

Заранее спасибо
385
07 июня 2006 года
SomewherSomehow
477 / / 25.07.2004
я знаю два способа работы с экселем.
1) через объектную модель.
Для этого необходимо добавить в проект библиотеку Экселя, через addreference, вкладка COM, создать объект класса ApplicationClass(класс приложения), Workbook(рабочая книга) Worksheet(лист эксель, на котором непосредственно находятся данные) и собственно работать с ними. Подробно можно не описывать, т.к. все названия методов и свойств интуитивно понятны, в случае чего всегда можно обратиться к великому и ужасному msdn-у. Только есть одна хитрость при освобождении ресурсов. Когда работа с экселем завершена, чтобы эксель не оставался в памяти, все переменные которые использовались при работе нужно удалять вручную.
2) через одбц. расписывать не буду, приведу фрагмент кода.
Код:
string strSQL               = "SELECT * FROM ["+ListName+"$]";                  
OdbcConnection cn           = new OdbcConnection();
OdbcCommand ExcellCommand   = new OdbcCommand(strSQL, cn);          
cn.ConnectionString         = "Driver={Microsoft Excel Driver (*.xls)};DBQ=" + FileName;
OdbcDataReader ExcellDataReader;
cn.Open();                      
ExcellDataReader = ExcellCommand.ExecuteReader();
while (ExcellDataReader.Read())
{
//.....
}


Много примеров по работе с экселем и вообще офисом есть на codeproject.com
422
07 июня 2006 года
Dimarik
181 / / 12.02.2005
1. Должен ли быть включен Exel во время работы этого приложения
2. А если имеется таблица нетипичной струтуры, допустим есть ячейка, которая получилась путём объединения нескольких, тогда как быть?
385
07 июня 2006 года
SomewherSomehow
477 / / 25.07.2004
1. Не обязательно. Главное чтобы он был установлен.
2. Самый лучший способ - проверить =) Но мне кажется на группировку ячеек драйвер не обращает внимания.
422
07 июня 2006 года
Dimarik
181 / / 12.02.2005
2. а как проверить, как вообще это читать. Допустим, в таблице из двух колонок есть одна запись в виде объединённых ячеек, чтение таблицы произвожу при помощи SqlDataReader, как он вообще на это отреагирует???
385
08 июня 2006 года
SomewherSomehow
477 / / 25.07.2004
Я же привел фрагмент кода, код рабочий, там только свои значения подставь и проверь...
Не понял суть вопроса.
18K
09 июня 2006 года
XBald
1 / / 08.06.2006
[QUOTE=Dimarik]2. а как проверить, как вообще это читать. Допустим, в таблице из двух колонок есть одна запись в виде объединённых ячеек, чтение таблицы произвожу при помощи SqlDataReader, как он вообще на это отреагирует???[/QUOTE]


Нет никаких проблем. Елси ячейки склеены, то данные надо читать/писать в левый верхний угол. Допустим, если склеены ячейки в области A1:C2, то значение "большой" ячейки хранится в A1.
422
09 июня 2006 года
Dimarik
181 / / 12.02.2005
т.е. допустим, я читаю таблицу из двух колонок и одна из записей является записью, образованной объединением двух ячеек, тогда получается, что данная запись будет представлять собой (для OleDb) одну заполненную ячейку, а другая со значением null. Так?
273
10 июня 2006 года
3A3-968M
1.2K / / 22.12.2005
[quote=Dimarik]т.е. допустим, я читаю таблицу из двух колонок и одна из записей является записью, образованной объединением двух ячеек, тогда получается, что данная запись будет представлять собой (для OleDb) одну заполненную ячейку, а другая со значением null. Так?[/quote]
Так точно - будет null
422
10 июня 2006 года
Dimarik
181 / / 12.02.2005
Спасибо, что вы вытерпели меня :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог