Как лучше работать с Excel
Поделитесь опытом, что все-таки лучше использовать и где про это более или менее неплохо написано.
Тоже только начинаю рабтать с Екселем,
и вот мои впечатления
Обычно Бильдер дает прекрасную помощьпо
своим компонентам, по которой можно легко
разобраться, как работать с ними. Но вот
по TExcellApplication - никакой!!!
Может, правда, она есть в шестом, но в
пятом ее нет. Может и нужно работать через этот класс, но уж больно он пугает -
если посмотреть его в класс эксплорере -
что-то жутко огромное. Моя машина еле тянет,
когда приходится компиллировать с этим классом.
Правда, есть другой способ, хотя говорят он
хуже - работа через Variant.
Обсуждение всех этих вопросов можете
найти в приведенных ниже ссылках
http//www.delphikingdom.com/helloworld/excel.htm
http//www.delphikingdom.com/helloworld/excel2.htm
http//www.delphikingdom.com/helloworld/excel3.htm
http//www.afalinasoft.com/rus/tips/index.html
http//src.fitkursk.ru/articles/art0000028_1.asp
http//forum.codenet.ru/viewtopic.php?topic=294&forum=3
А вот вам очень простой пример кода,
который запускает Ексель и показывает его
на экране. Только что проверил - все работает.
#include <utilcls.h>
void __fastcall TForm1Button1Click(TObject *Sender)
{
Variant app, ws;
app = CreateOleObject("Excel.Application");
app.OlePropertySet("Visible", true);
app.OlePropertyGet("Workbooks").OleProcedure("Add");
ws = app.OlePropertyGet("Worksheets").OlePropertyGet("Item",1);
}
//---------------------------------------------------------------------------
Кроме того, могу выслать на мыло
немного текстовой информации, скаченной мной
в инете. Но советом врядли помогу - сам только что начинаю разбираться.
Галин А.М.
и по-моему эта тема станет следующим бест-селлером (вернее бест-гивером) вслед за архивом по работе с COM-портом
Выслал Вам небольшой архив про
работу с Екселем.
Правда там не так много информации, как
в архиве про порты - только начинаю работать!
Насчет бестселлера - не думаю!
В свое время, когда я начанал работать с портами,
потратил кучу времени на поиск информации,
и было очень трудно найти что-нибудь хорошее.
С Екселем - тут же нашел очень хорошее описание.
Кроме того, вряд-ли кто-то
станет работать с Екселем с помощью
Ассемблера, а вот с портами - пожалуйста
(см статью чуть пониже)
И не сразу становится понятным, что
ассемблер - это гибель!
Кстати если Вы продолжаете интересоваться портами, то только что я прочел статейку и вот небольшой кусок из нее
(если надо - вышлю)
Просто в этом случае при кодировании вам придется спуститься до уровня ассемблера. Автор следующего кода Arthur Hoornweg (hoornweg@hannover.sgh-net.de)
--------------------------------------------------------------------------------
function getport(pword)byte; stdcall;
begin
asm
push edx
push eax
mov dx,p
in al,dx
mov @result,al
pop eax
pop edx
end;
end;
Procedure Setport(pword;bbyte);Stdcall;
begin
asm
push edx
push eax
mov dx,p
mov al,b
out dx,al
pop eax
pop edx
end;
end;
Fran&ccedil;ois Piette также предлагает свое решение прямого доступа к портам I/O на страничке
Но все вышесказанное под Windows NT работать не будет. NT более "прочная" операционная система
А за ссылочку спасибо, в своих поисках я до нее не доходил