|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.02.2007, 14:51 | #1 |
Регистрация: 06.02.2007
Сообщений: 8
|
Excel и Delphi
проблема такова. есть таблица чисел в ecxel 1000x1500 столбцов и строк. необходимо эту огромнейшую таблицу обработать в делфе. после определенной обработки надо записать уже обработанную и измененную таблицу в новый экселевский файл. Какие есть методы работы с экселем через делфу, точнее с большими таблицами. и как увеличить быстродействие обработки этой огромнейшей таблицы? кто встречался с подобной проблемой черкните...
|
10.02.2007, 10:45 | #2 |
Владимир М.
Участник клуба
Регистрация: 30.10.2006
Сообщений: 1,289
|
вобще, работал с Excel ..
эту обработку надо делать часто ?
Берегите друг друга!
|
10.02.2007, 12:04 | #3 |
Пользователь
Регистрация: 22.01.2007
Сообщений: 52
|
Смотря какую обработку и как часто.
Увеличить скорость можно настройкой самой Excel (через объект, связанный с таблицей) в том случае, если там есть формулы. Если это простые числа - то вряд ли. Большие таблицы лучше обрабатывать при помощи BDE в Delphi (ну т.е. использовать базу данных)
Delphi & LMD & RXLib / VBA / Windows / Linux...
|
10.02.2007, 17:35 | #4 |
Пользователь
Регистрация: 01.11.2006
Сообщений: 63
|
почитай материал "СУПЕР ФУНКЦИИ"
http://www.kornjakov.ru/stat.htm#s4 я сам учусь работать c Excel через Delphi по этим статьям |
13.02.2007, 22:48 | #6 |
Пользователь
Регистрация: 06.11.2006
Сообщений: 51
|
C Excell приходится работать довольно часто.
Использую простой метод : создаю объект Excell-я и далее использую сиснаксис почти как в VBA. Вот кусочек примера: var i:Integer; begin XLApp:= CreateOleObject('Excel.Application' ); LCID := GetUserDefaultLCID; XLApp.Workbooks.Add(-4167); XLApp.Workbooks[1].WorkSheets[1].Name:='Первый лист'; { xlMedium=-4138,xlThin=2,xlThick=4,xlHairline= 1 } Xlw:=XLApp.Workbooks[1]; Sheet:=XLApp.Workbooks[1].WorkSheets['Первый лист']; sheet.Cells.Item[1,2]:='Заголовок листа'; где XLApp-переменная содержащая сам Excell. Lcid понадобится для управления сохранением таблицы: Xlw.SaveAs('C:\Лист1.xls',-4143,'','', False, False,1,2,true, 0, 0, LCID); Правда такой метод работы достаточно долог даже в случае таблицы 8х50. Поэтому стараюсь проводить обработку данных Excell в тот момент, когда его можно сделать отчасти "незаметным", т.е. при запуске или закрытии программы, например. Такой метод связи с Excell описан в книге М.Фленова "Библия Delphi", ссылки поищи на форуме. |
28.02.2007, 11:22 | #7 |
Helper
Форумчанин
Регистрация: 10.12.2006
Сообщений: 109
|
Люди, подскажите, (у Корнякова не нашел) при закидывании в Excel инфы, что надо в Uses прописывать?
comobj - это понятно. Но у меня 2003 офис. На office XP это было ExcelXP и WordXP.
Глупых вопросов не бывает - бывают глупые ответы.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Delphi & Excel | Rust25 | Общие вопросы Delphi | 2 | 05.09.2008 06:35 |
Delphi и Excel | antoni | БД в Delphi | 3 | 05.08.2008 11:19 |
Excel + Delphi | fudzy79 | Помощь студентам | 3 | 10.03.2008 19:35 |
Delphi и Excel | zzzzz | Помощь студентам | 3 | 10.11.2007 17:37 |
Delphi и Excel | Dimon | Win Api | 1 | 24.02.2007 20:00 |