| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Чтение строчки из файла Excel |
| Автор: SergeyMitrofanov 25.9.2006, 11:58 |
| Существуют ли какие-либо компоненты по работе с файлами, порождаемыми Microsoft Excel? Если таких компонентов нет, то как прочитать строчку из нетипизированного файла *.xls? |
| Автор: stmamont 27.9.2006, 09:46 |
| SergeyMitrofanov, с файлами excel лучше всего работать с помощью OLE-серверов. Смотри ссылки снизу |
| Автор: ИванМ 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"); не проверял, но должно работать |
| Автор: stmamont 28.9.2006, 22:03 |
| ИванМ, это то я и имел в виду. |
| Автор: SergeyMitrofanov 29.9.2006, 10:03 | ||
Спасибо за такую своевременную помощь! Удивительно, но этот код 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 5.10.2006, 14:23 |
| Компоненты для работы с Excel AdvStringGrid в TMS-components-позволяет читать и писать файлы в excel одной командой Ems осуществляет экспорт в excel и acces да и другие есть |
| Автор: SergeyMitrofanov 5.10.2006, 15:12 |
| Компоненты для работы с Excel AdvStringGrid в TMS-components-позволяет читать и писать файлы в excel одной командой -- какие библиотеки нужно подключать? Ems осуществляет экспорт в excel и acces -- А разве Ems есть в Builder? |
| Автор: PbICbKa 9.11.2010, 03:11 |
| Не знаю, принятно ли здесь апать старые темы, но рискну. (не хочу открывать новую ради пары строк кода). У меня стоит задача как читать данные из экселя, так и записывать их туда. С чтением всё понятно, а как сделать запись? Заранее спасибо за ответ! |
| Автор: Usper 9.11.2010, 09:13 |
| Хм... поиском умеете пользоваться, но плохо! http://forum.vingrad.ru/index.php?showtopic=302606&view=findpost&p=2165675 |