Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как правильно из Delphi открыть XML-файл в Excel, Delphi->XML->Excel 
V
    Опции темы
Slawanix
  Дата 15.4.2010, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 29.7.2004
Где: г. Великие Луки

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



Доброго дня, друзья!
У меня стоит такая задача - хочу с помощью Delphi7 отправить в Excel файл XML.
То есть, в самой Дельфи я не делаю никакой обработки XML-файла а просто запускаю Excel и кидаюсь в него XML-файлом.
Дальше уже внутри Excel я собираюсь его средствами Дельфи обрабатывать.
Делаю я это вот так:

Код

procedure TForm1.btn1Click(Sender: TObject);
begin
 if dlgOpenXML.Execute then
 begin
  E:=CreateOleObject('Excel.Application');
  E.WorkBooks.Add;
  E.Workbooks.Open(dlgOpenXML.FileName,ReadOnly:=True);
  E.Visible:=True;
 end;
end;


Проблема в том, что файл открывается таким способом как простой xls, в виде таблицы, некорректно отображая структуру и содержание XML. Я же хочу сделать так, как это делает сам Excel, когда им открываешь XML-файл, он спрашивает в каком виде открыть, в виде XML-таблицы или еще там варианты. И когда я в его окошке выбираю в виде XML-таблицы, он красиво его открывает.
Когда я попробовал сделать макрос в VB Excel, там прописывается параметр LoadOption=xmlToXMLTable, или чет-типа этого. Как такую опцию сделать в Дельфи? smile 


Нашел решение, подсмотрел как VB макрос делает, только в Delphi это выглядит вот так:
Код

procedure TForm1.btn1Click(Sender: TObject);
var LoadOption:Variant;
begin
 if dlgOpenXML.Execute then
 begin
  E:=CreateOleObject('Excel.Application');
  E.Workbooks.OpenXML(dlgOpenXML.FileName,LoadOption:=2);
  E.Visible:=True;
 end;
end;


и очень красиво открывается, так как мне и нужно smile 
Спасибо всем. 

Это сообщение отредактировал(а) Slawanix - 15.4.2010, 11:54
--------------------
моск кипит    
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

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

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


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

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

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




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


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

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