Текущий архив: 2004.06.13;
Скачать: CL | DM;
ВнизУниверсальный Excel или что я полчил после бессоной ночи. Найти похожие ветки
← →
Grrey (2004-05-28 05:30) [0]Как в своей программке попытатся исспользовать Excel и не привязываться к версии?
Способ 1.
Попытаться отвязаться от версии используя интерфейсы.
У меня так и не получилось полностью отвязаться от версии. Это вообще возможно? Разные версии подразумевают разные интерфейсы. Попытка мелкософта отвязки от версии (как я понял) - это возможность задания не всех параметров. Но, на сколько я знаю, делфя не позволяет обращаться к методам (даже методам интерфейсов) с не полным списком параметров. Или со списком параметров не правильного типа. Кстати надо отдать должное убожести хелпа по вижуал басику. Один отрывок из онного чуда:
"TextCodePage Optional Variant. Not used in U.S. English Microsoft Excel.
TextVisualLayout Optional Variant. Not used in U.S. English Microsoft Excel."
Это параметры метода workbook.SaveAs. Т.е. в ламерикоском Excel"e эти параметры не используются, значит описывать их и не стоит. А про то, что есть и другие люди, отличные от U.S., можно и забыть. Фиг с ними, все равно некогда лицензии не покупали. Хотя я отвлекся от темы. Вобщем, в результате моих жалких попыток написать универсальный компонент я застрял только на одном методе. Это вышеуказанный workbook.SaveAs. Не хочет он сохранять файл, и, кроме того, выполняется с ошибками. Причем выполнял я его стараясь как можно ближе интерпретировать хелп, и из той же версии, что и Excel, на котором экспериментировал. Но об этом мы еще задницу по отсижываем.
Способ 2.
Принять привязанность к версиям как факт и писать отдельный код для каждой верисии. Привязанность к версии - это очень большой недостаток. Во-первых, придется писать кучу кода на каждую версию. Я не самый ленивый человек, но мне даже думать об этом больно. Во-вторых, с выходом новой версии, какой-нибудь Excel XP2, придется переписывать программку, или заставлять заказчиков использовать только нынешние версии, что не приемлимо (представте себе что вы уговариваете заказчика использовать Excel 95 и сразу ощутите всю "неприемлимость" этого решения).
Способ 3.
Купить компоненту у стороннего разработчика и пусть он заботится о версиях. Если выйдет чего-нибудь новое, достаточно будет перекомпилировать прожект. (Хотя производитель может решить выпустить новую версию своего продукта и все прелести 2-ого способа сваливаются вам на голову. Но только теперь совершенно неожиданно)
Способ 4.
Послать все эти комы и олы подальше и в программке сделать импорт только в буфер. Дальше нужно научить заказчика нажимать Ctrl+V в нужном месте нужного файла и проблема решена. Этот способ я еще не использовал (только что придумал), но, думаю, и здесь обязательно какая-нибудь пакость вылезит.
← →
y-soft © (2004-05-28 08:59) [1]Если нужно просто экспортировать данные в формат XLS, то можно смело писать в формате BIFF, вообще не используя Excel.
Гарантированно совместим с любой версией Excel
← →
Sandman25+1 (2004-05-28 09:24) [2]В Delphi можно вызывать "методы OLE" в виде ...Method(Param3:="value3", Param1:=12), не указывая все параметры.
← →
Grrey (2004-05-28 17:43) [3]to y-soft>
А ссылочку можно попросить на доку?
← →
Grrey (2004-05-28 18:01) [4]Нашел доку. Если кому надо
http://level.kiev.ua/modules.php?name=Downloads&d_op=getit&lid=521
И сразуже встречный вопрос. А как обрабатывать версии BIFF. В статье их описывается со 2 по 8. Я конечно еще не вникал, но перспектива поддерживать кучу версий, мягко говоря, не радует.
← →
y-soft © (2004-05-28 22:01) [5]>Grrey (28.05.04 18:01) [4]
А как обрабатывать версии BIFF. В статье их описывается со 2 по 8. Я конечно еще не вникал, но перспектива поддерживать кучу версий, мягко говоря, не радует
Это только при чтении, и никуда тут не деться, и никакой гарантии, что не появится 9-я и выше :(, а сохранять можно всегда во 2-ю, если, конечно, не требуются расширения следующих версий...
Есть бесплатные компоненты, которые работают именно на этом принципе, ссылок жаль не помню...
← →
y-soft © (2004-05-28 22:09) [6]Посмотрите это (бесплатно, но без исходников):
http://www.vtktools.com/rus/vtkexport/vtkexport.html
← →
Grey (2004-06-01 01:31) [7]Спасибо всем.
Особенно y-soft.
Библиотека очень пригодилась. Единственный ее недостаток - отсутствие поддержки графиков. Но пока она для меня подходит.
Страницы: 1 вся ветка
Текущий архив: 2004.06.13;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.025 c