![]() |
|
![]() ![]() ![]() |
|
SergeyMitrofanov |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 30.1.2006 Репутация: нет Всего: нет |
Существуют ли какие-либо компоненты по работе с файлами, порождаемыми Microsoft Excel?
Если таких компонентов нет, то как прочитать строчку из нетипизированного файла *.xls? |
|||
|
||||
stmamont |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 343 Регистрация: 13.3.2004 Где: влг Репутация: 3 Всего: 3 |
SergeyMitrofanov, с файлами excel лучше всего работать с помощью OLE-серверов.
Смотри ссылки снизу |
|||
|
||||
ИванМ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 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"); не проверял, но должно работать |
|||
|
||||
stmamont |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 343 Регистрация: 13.3.2004 Где: влг Репутация: 3 Всего: 3 |
ИванМ, это то я и имел в виду.
|
|||
|
||||
SergeyMitrofanov |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 30.1.2006 Репутация: нет Всего: нет |
Спасибо за такую своевременную помощь! Удивительно, но этот код 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? |
|||
|
||||
ShadoWolf |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 4.10.2006 Репутация: нет Всего: нет |
Компоненты для работы с Excel
AdvStringGrid в TMS-components-позволяет читать и писать файлы в excel одной командой Ems осуществляет экспорт в excel и acces да и другие есть |
|||
|
||||
SergeyMitrofanov |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 30.1.2006 Репутация: нет Всего: нет |
Компоненты для работы с Excel
AdvStringGrid в TMS-components-позволяет читать и писать файлы в excel одной командой -- какие библиотеки нужно подключать? Ems осуществляет экспорт в excel и acces -- А разве Ems есть в Builder? |
|||
|
||||
PbICbKa |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 9.11.2010 Репутация: нет Всего: нет |
Не знаю, принятно ли здесь апать старые темы, но рискну. (не хочу открывать новую ради пары строк кода).
У меня стоит задача как читать данные из экселя, так и записывать их туда. С чтением всё понятно, а как сделать запись? Заранее спасибо за ответ! |
|||
|
||||
Usper |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 13.4.2007 Репутация: 15 Всего: 15 |
Хм... поиском умеете пользоваться, но плохо!
http://forum.vingrad.ru/index.php?showtopi...t&p=2165675 -------------------- На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |