Как открыть MS Excel Workbook 2010 в ToleContainer с помощью Delphi 6

Я использую TOleContainer для доступа к Excel из приложения. в объектах Olecontainer у нас есть лист MS Excel 2003, но мне нужно открыть версию Excel Workbook 2010. Может кто-нибудь мне помочь. Благодарю.

1 ответ

Решение

Использование TOleContainer.CreateObjectFromFile, Из документации (ссылка на текущую документацию, но TOleContainer не менялся годами, так что это относится к используемой версии Delphi):

Создает внедренный объект OLE из содержимого файла.

Вызовите CreateObjectFromFile, чтобы создать объект OLE из файла, указанного в параметре FileName. Параметр Iconic указывает, отображается ли объект в виде значка (true) или отображается так же, как в приложении сервера (false). Если в контейнере уже есть объект OLE, он уничтожается, и любые изменения, внесенные в него пользователем, отбрасываются.

Пример использования будет:

OleContainer1.CreateObjectFromFile('C:\temp\test.xlsx', False);

Вы также можете использовать TOleContainer.CreateObject, если вы знаете имя класса класса OLE. Вы можете найти это, используя CreateObjectFromFile как я показал, чтобы загрузить существующий файл Excel и чтение TOleContainer.OleClassName, (Это также доступно в документации.) Пример использования той же версии Excel, что и у меня:

OleContainer1.CreateObject('Excel.Sheet.12', False);
Другие вопросы по тегам