Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чтение строчки из файла Excel, Как работать с файлами типа *.xls? 
:(
    Опции темы
SergeyMitrofanov
Дата 25.9.2006, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 30.1.2006

Репутация: нет
Всего: нет



Существуют ли какие-либо компоненты по работе с файлами, порождаемыми Microsoft Excel?

Если таких компонентов нет, то как прочитать строчку из нетипизированного файла *.xls?

 
PM MAIL WWW   Вверх
stmamont
Дата 27.9.2006, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 343
Регистрация: 13.3.2004
Где: влг

Репутация: 3
Всего: 3



SergeyMitrofanov, с файлами excel лучше всего работать с помощью OLE-серверов.
Смотри ссылки снизу


--------------------
user posted image
PM MAIL ICQ   Вверх
ИванМ
Дата 27.9.2006, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1260
Регистрация: 19.6.2006
Где: СПб

Репутация: 5
Всего: 23



Я рекомендую пользоваться классом Variant для таких целей. Вот например, чтение из файла excel определенной ячейки. Строку не трудно прочитать через цикл.

String file=[название файла]
String col=[колонка("A","B" и т.д.)]
int row=[номер строки]

Variant App=Variant::CreateObject("Excel.application");
Variant Books=App.OlePropertyGet("Workbooks");
Procedure Open("Open");
Books.Exec(Open<<file);
Variant Book=App.OlePropertyGet("ActiveWorkBook");
Variant sheet=Book.OlePropertyGet("ActiveSheet");
PropertyGet Range("Range");
Variant range=sheet.Exec(Range<<Variant(col+row));
//val - значение ячейки 
String val=range.OlePropertyGet("Value");


не проверял, но должно работать


PM MAIL   Вверх
stmamont
Дата 28.9.2006, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 343
Регистрация: 13.3.2004
Где: влг

Репутация: 3
Всего: 3



ИванМ, это то я и имел в виду.


--------------------
user posted image
PM MAIL ICQ   Вверх
SergeyMitrofanov
Дата 29.9.2006, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 30.1.2006

Репутация: нет
Всего: нет



Цитата(ИванМ @ 27.9.2006,  18:42)
Я рекомендую пользоваться классом Variant для таких целей. Вот например, чтение из файла excel определенной ячейки. Строку не трудно прочитать через цикл.

не проверял, но должно работать

Спасибо за такую своевременную помощь!

Удивительно, но этот код 

    String file=[название файла]
    String col=[колонка("A","B" и т.д.)]
    int row=[номер строки]

    Variant App=Variant::CreateObject("Excel.application");
    Variant Books=App.OlePropertyGet("Workbooks");
    Procedure Open("Open");
    Books.Exec(Open<<file);
    Variant Book=App.OlePropertyGet("ActiveWorkBook");
    Variant sheet=Book.OlePropertyGet("ActiveSheet");
    PropertyGet Range("Range");
    Variant range=sheet.Exec(Range<<Variant(col+row));
    //val - значение ячейки 
   String val=range.OlePropertyGet("Value");

идеально компилируется.

Какие компоненты я должен поместить на форму?
Какие библиотеки подключить?
Чтобы уверенно работать со строками файла Excel?


PM MAIL WWW   Вверх
ShadoWolf
Дата 5.10.2006, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 4.10.2006

Репутация: нет
Всего: нет



Компоненты для работы с Excel  
AdvStringGrid в TMS-components-позволяет читать и писать файлы в excel одной командой
Ems осуществляет экспорт в excel  и acces
да и другие есть 

 
PM MAIL   Вверх
SergeyMitrofanov
Дата 5.10.2006, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 30.1.2006

Репутация: нет
Всего: нет



Компоненты для работы с Excel  
AdvStringGrid в TMS-components-позволяет читать и писать файлы в excel одной командой

  -- какие библиотеки нужно подключать?

Ems осуществляет экспорт в excel  и acces

   -- А разве Ems есть в Builder?


PM MAIL WWW   Вверх
PbICbKa
Дата 9.11.2010, 03:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 9.11.2010

Репутация: нет
Всего: нет



Не знаю, принятно ли здесь апать старые темы, но рискну. (не хочу открывать новую ради пары строк кода).
У меня стоит задача как читать данные из экселя, так и записывать их туда. С чтением всё понятно, а как сделать запись? Заранее спасибо за ответ!
PM MAIL   Вверх
Usper
Дата 9.11.2010, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 13.4.2007

Репутация: 15
Всего: 15



Хм... поиском умеете пользоваться, но плохо! 
http://forum.vingrad.ru/index.php?showtopi...t&p=2165675


--------------------
На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0712 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.