![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Данные в Excel [D5, IB4.x, IB5.x, IB6.x, Paradox]
Виталий_ © (2003-06-22 15:35:00)Привет, всем.
Есть вопрос к знактокам, на который давно не могу найти ответ.
Суть такова. Есть таблица с данными. Эти данные необходимо сохранить в Excel. Все работает прекрасно, но вот только в таблице есть данные типа String "06589R". В Excel этот ноль исчезает. Как предварительно отформатировать столбик в Excel из Delphi в тип текст. Перепробовал немало вариантов, но сообщения об ошибке избежать не удалось. Это собственно первый вопрос.
А вот вотрой: данных в таблице много, то и дело смотреть как они сохраняются в Excel не охота, я переключаюсь на другое приложение, а при возврате в мою программу, некоторые элементы формы не перерисовываются. Как заставить их принудетльно перерисоваться?
Andriano (2003-06-25 16:34:00) [1]> kravchuk ©
Да я заметил, но только щас понял, что ты про COM. Попробую завтра. Спасибо.
kravchuk (2003-06-25 16:30:00) [2]> Andriano © (25.06.03 16:07)
как я уже говорил, удалось ускорить выгрузку, если бросать не по одной записи а сразу много, т.е. Вариант массив и целиком в region
Andriano (2003-06-25 16:07:00) [3]Можно заранее создать некий .xls файл, который можешь отформатировать как хочешь. Я вот к примеру нарисовал шапку, поставил всё в формат "текст" и даже автофильтр прямо на шапке включил. Пользуюсь OLE. Открываю этот файл, добавляю записи, "сохраняю как" в другой файл. Автофильтр распространяется на все добавленные данные.
У меня другая проблема - OLE работает медленно (1500 записей за 25с). Сносно, но хочется ускорить. И Microsoft Excel требуется.
bushmen (2003-06-25 15:15:00) [4]2 Соловьев ©:
Я к тому, что у него не должно быть проблемы с отбрасыванием нуля.
Соловьев (2003-06-25 15:10:00) [5]
> bushmen © (25.06.03 14:54)
не понял... я как раз и написал как в екселе отформатить ячейку через Com
kravchuk (2003-06-25 15:04:00) [6]если работаешь через ОЛЕ, выдели весь лист, формат ячеек поставь текст,
Если экспорт делаешь в цикле то добавь Application.ProcessMessages, а вообще лучше бросать данные вариант массивом, за раз, быстро и ловко :)
bushmen (2003-06-25 14:54:00) [7]2 Соловьев ©:
Не, у него должна по умолчанию в текст форматиться ячейка - у него в строге буква проскакивает, а Excel нули отбрасывает по умолчанию токо когда может в число перевести
Соловьев (2003-06-25 14:51:00) [8]...
Range.NumberFormat := "@";//текст
...
bushmen (2003-06-25 14:41:00) [9]Если работаешь через com, то исчезает и 2 проблема - Excel можешь активировать только после завершения сброса данных
s_ser (2003-06-25 14:10:00) [10]Проше всего работать через COM технологию
sniknik (2003-06-22 18:23:00) [11]
первое, а как ложш? через что? я вот положил для примера
INSERT INTO [Sheed1$] (Name) VALUES ("06589R")
и так
UPDATE [Sheed1$] SET Name = "06589R" WHERE Id = 4
все (и ноль тоже) остается на месте ("как" разгласил, но "через что" по твоему почину запартизаню :о)).
второе, вобще этого обычно не требуется, форма перерисовывается если была закрыта другим приложением, сама.
исключение может быть если ты сам рисуеш, а обработку OnPaint не делаеш. (обьяснил бы чего не пререрисовывается? поименно)
заставить форму перерисоватся насильно Repaint, не относится к тому что сам на канвасе формы рисуеш.
судя по тому что не перерисовываются "некоторые элементы формы", они у тебя самодельные. ???