Delphi + Excel
Опять таки доступ к полю при адо осуществляется по имени этого самого поля (т.е. датасетю.ФилдБайНэйм(‘Имя’))
С какой это стати?
Доступ через ADO идет только через SQL запросы, а датасетю.ФилдБайНэйм(‘Имя’), это всего лишь компонента которая в конечно счете все твои действия с БД переводить на SQL запросы. А как ты осуществишь SQL запрос к объеденным ячейкам (а если объедены и строки)?
А я к сожалению встречал. Стоило нажать на кнопку сохранить в 2003 excele и все. Доступа через ADO нет
Это уже запрос объеденных ячеек (т.е. из заданной задачки можно предположить: что они есть).
Но автор сам в задачке выбрал OLE. И в место того чтобы подсказать ты его запутываешь каким то ADO (может он впервые еще сталкивается с SQL). Да к тому же еще не зная подойдет ли его файлик (а судя из задачки он у него уже есть) для подключения через ADO.
Действительно сказка — при отсутствующем подключении.
Сдесь полностью согласен: вносить данные в новую книгу очень удобно и быстро. А вот извлекать запаришься — особенно если пользователь что то изменил в книге (для этих случаев существуют БД и СУБД (excel к ним не относиться)).
Судя по этой строчке автор не знает как обращаться с TMemo. А ты его хочешь приобщить к SQL.
Я пользуюсь своим опытом, а вот ты кажется точно телепатией обладаешь — раз уверен в своей ADO по отношению к формату которой даже БД не является.
Они из тьмы редактирования и сохранения действительно могут один раз удалить файл. Но вот сохранение обычная процедура поэтому ее как раз надо рассмотреть (и вам уважаемыйsax_ol тоже).
Видно кто то привык на лабораторных «дурить» преподавателей (сдавая программы которые могут работать только при определенных условиях). А потом пользователи ваши программ начинают повсеместно вспоминать Била Гейтся и глючную винду .
Замечу что тема называется [Delphi + Excel], а не [ADO+ Excel] .
АДО это одна из технологий которую поддерживает делфи, ну и она умеет работать с Excel. Опять таки про что вы?
Добавлено: Про Била нашего Гейтса тоже не понятно к чему. При чем тут лабораторные, при чем тут дурить. вощем какойто поток сознания.
Насчет ссылки на темы я имел ввиду что для автора желательно рассмотреть все возможные способы работы с Excelем а не только с ado.
PS: Преимущество ADO над OLE ты так еще и не показал. :-(. И к тому же заставляешь меня повторяться — что говорит о невнимательности (мне достаточно уже отвечать своими же цитатами).
Преимущество же OLE над ADO (в рамках Excelя) я уже показывал
Ведь OLE использует специальные интерфейсы для работы с excel`ем. И его функциональности вполне достаточно для полной работы с excel`ем (а не только на уровне БД).
И его функциональности вполне достаточно для полной работы с excel`ем (а не только на уровне БД).
— тупик может образоваться если использовать ADO и excel, а Ole — выход из этого тупика. Только некоторые его и видеть не хотят.
в один момент могут вдруг взять и открыть базу в любом соотв. редакторе, отредактировать, сохранить и потом наморщить лоб и с изумлением спрашивать у разработчиков — «а какого собственно все перестало работать?».
Если пользователь полез туда куда не следует то это его личная проблемма и к проблеммам разработки не имеет никакого отношения.
Отредактировать xls файл в офисе никак нельзя назвать «не следует». К тому же этот файл уже есть (следует из задачи) интересно откуда он взялся :facepalm:. Отсранение от проблемы путем фразы «проблеммам разработки не имеет никакого отношения.» характеризует программиста в глазах у клиента не очень хорошо.
В данном случае, имея ту информацию, которую имеем, я считаю что это АДО. С адо я это решу в пол дня, с оле раза в 2 дольше. Просто тупо на писанину.
Плюс адо мне дает тучу возможноствей запростотак, это и поис и быстрое позиционирование на нужные данные, и унифицированный интерфейс пользователя, использование транзакций, и тыпы
С какого перепугу? можно не только данные, можно и структуру похерить, да что там структура, данные тоже не абы как туда занесены. Так что мимо.
Вопросы же взаимосвязоности таблиц (который может нарушить редактор) я не рассматриваю т.к. для этого обычно используется СУБД с определенным доступом к файлам с данными, и к этим файлам трудно добраться (если ты конечно не системный администратор на сервере, но с них спрос совсем другой).
Для тех кто в танке объясню на примере. Для БД в формате mdb существует специализированный редактор под названием Microsoft Access, как вы думает что будет с этим файлом если его там отредактировать. А какая ситуация с xls?
Как раз таки оно и есть. Человек вмешивается в логику программы. А тут уж как повезет. если он с пониманием, то никаких потерь если без мозгов то это засада. Не важно каой это файл офиса или еще чего, вот к примеру ини файлы, xml файлы и т.п. легко можно редактировать блокнотом, но а там как повезет.
И что оно делает? на такое с адо ваще ничего писать не надо и делать при этом будет гораздо больше, нежели то что вы перечислили. андерстенд? smile.gif
Я уже отвечал что она делает Будте внимательней. То что с ado писать ничего не надо я заметил — ведь вашего варианта еще не было
Скоко раз напоминать прописную истину что EXCEL может хранить таблицы БД но необязательно в виде таблицы БД, т.е. он не относится к формату БД и поэтому к нему не всегда можно обратиться через SQL (разве это для ADO нечиго не меняет?)
Вот мы лет эдак 6+ назад делали систему, которая закачивала данные из филиалов в консолидированную бд. ДАнные шли разного формата, и эксель и пдф и csv и . так вот всем были спущены указания как формировать эти самые данные, по вашей логике, всяк мог накосячить чего угодно, а мы должны угадать чего накосячили?
— это ты говоришь. А автор попросил помочь ему разобраться как работать с Excelем через delphi. Будь пожалуйста повнимательней и обращай внимание хотябы на название темы.
и чем более эффективную технологию можно применить тем лучше. Изменятся входные данные — условия, изменится и подход.
— Не зная что находится в файле (а может данные уже поменялись, а не такие как ты себе представляешь). И что переписывать усю программу, или достаточно будет разбавить ее несколькими процедурами?.
-бессмысленный подход. Например: у клиента поменяется версия офиса, а вместе с ней и формат файла. Если для Ole это будет по боку то для самостоятельного разбора файла придется переписывать программу (а для этого придется изучить еще и новую структуру xls файла).
По аналогии с методом Write, метод Read производит чтение очередной записи из файла и имеет следующее описание:
Как проверить наличие файла в делфи
Открыть после экспорта – результирующий файл будет открыт сразу же после экспорта программой Microsoft Excel (Ну или что у пользователя в системе ассоциировано с файлами расширения XLSX для их открытия).
Глюконуло комп. Пробую открыть файл Excel и выдаёт, что невозможно получить доступ к файлу. Что можно сделать?
содержащего связанных данных. и сообщить, помогла
екзешника-попробуй поместить их своим поведением)). ХотяНажмите
Записать в Excel XML из Delphi / Lazarus — Fast Reports
Начиная с версии XE2 в Delphi появился юнит System.IOUtils, включающий удобные утилиты для работы с файлами и директориями. Предлагаю вместе подробно разобраться с тем, что в юните System.IOUtils имеется и попробовать на примерах как это всё работает.