On-line: Pasha, PSP, SergKis, гостей 1. Всего: 4 [подробнее..]
АвторСообщение
Dima
администратор




Пост N: 2372
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.05.12 16:52. Заголовок: Снова EXCEL (продолжение)


Ранее с Excel из Harbour ни когда не работал.
Поставили тут задачу.
У некоторых поставщиков есть определенные формы заказов.
Набраны они в Excel. Сейчас народ руками заполняет эти формы
и шлет по электронке поставщикам.
Задача сводится к тому что бы в этих формах находить
нужные коды товара и в нужной ячейке проставлять заказ.
Может ткнет кто носом с чего начать что бы не напороться на грабли.
Спасибо
Сами формы тут http://zalil.ru/33279066

Спасибо: 0 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]


Pasha
Администратор




Пост N: 3569
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 22.06.17 10:36. Заголовок: По поводу этого кода..


По поводу этого кода. Оригинальный фрагмент там совсем небольшой: создание двумерного массива, все остальное пришлось копировать из сырцов hbwin и xharbour, так как нужные функции там объявлены как static, и их не вызовешь.
Как раз месяц назад в harbour dev list было обсуждение этого вопроса, и есть надежда, что поддержка таких массивов будет добавлена в hbwin. Тогда эта функция станет не нужна.
Сейчас ее можно использовать для решения вполне конкретной и ограниченной задачи. Это что-то вроде заплатки.


Спасибо: 2 
Профиль
Pasha
Администратор




Пост N: 3573
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 04.07.17 14:05. Заголовок: Pasha пишет: и есть..


Pasha пишет:

 цитата:
и есть надежда, что поддержка таких массивов будет добавлена в hbwin. Тогда эта функция станет не нужна.



Ну вот, все вопросы в dev list утрясены, и поддержка многомерных массивов Variant добавлена в Harbour.

Пример для заполнения диапазона в Excel:

// файл из contrib\hbwin
#include "hbole.ch"

local aSet[nRows, nColumns]
// далее надо заполнить двумерный массив со значениями ячеек

// и вызвать
oRange:Value := __oleVariantNew( WIN_VT_VARIANT, aSet, nRows, nColunms )


Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6482
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.07.17 16:49. Заголовок: Pasha пишет: Ну вот..


Pasha пишет:

 цитата:
Ну вот, все вопросы в dev list утрясены, и поддержка многомерных массивов Variant добавлена в Harbour.



Спасибо.

Спасибо: 0 
Профиль
Vlad04
постоянный участник


Пост N: 723
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 05.07.17 07:28. Заголовок: http://xlslib.source..


http://xlslib.sourceforge.net/index.php
What is xlsLib?
xlsLib is a multiplatform, a C/C++ library for dynamically generating Excel(TM) files (*.xls format). It allows the generation of these files directly without the need of other assistive software.
xlsLib can be used:
as a statically linked library. xlsLib can easily be integrated in any C/C++ project.
As a dynamically linked library. The classic shared object scheme can be followed for using xlsLib.
Последние обновления , кажется 14 годом.

Спасибо: 0 
Профиль
Vlad04
постоянный участник


Пост N: 724
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 06.07.17 12:42. Заголовок: Петр Может быть Вы..


Петр

Может быть Вы обратили свое внимание на эту библиотеку.
Цель - возможность работы с ней в Харбор/ MiniGui

Спасибо: 0 
Профиль
Петр
постоянный участник


Пост N: 1542
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 11.07.17 11:34. Заголовок: Vlad04 пишет: Може..


Vlad04 пишет:

 цитата:

Может быть Вы обратили свое внимание на эту библиотеку.
Цель - возможность работы с ней в Харбор/ MiniGui



Честно говоря, я не вижу в этом никакого профита.

Активное продвижение формата xls завершилось в 2003 году - 14 лет назад.
К тому же, несмотря на заявления, xlsLib типичная C++ библиотека. Использование с harbour (C) возможно, но это довольно сомнительное удовольствие.

В MiniGUI есть пример для работы с libxlsxwriter.dll (формат xlsx).


Спасибо: 1 
Профиль
Vlad04
постоянный участник


Пост N: 725
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 11.07.17 14:17. Заголовок: Петр Ок, формат не ..


Петр
Ок, формат не критичен.

К сожалению libxlsxwriter.dll имеет ряд ограничений - она не может читать или изменять существующие файлы!
И , наверно, обязательно д.быть установлен Excel

Спасибо: 0 
Профиль
Петр
постоянный участник


Пост N: 1543
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 11.07.17 15:55. Заголовок: Vlad04 пишет: К сож..


Vlad04 пишет:

 цитата:
К сожалению libxlsxwriter.dll имеет ряд ограничений - она не может читать или изменять существующие файлы!

То же самое можна сказать о xlsLib

Vlad04 пишет:

 цитата:
И , наверно, обязательно д.быть установлен Excel

Нет

Спасибо: 0 
Профиль
Панченко





Пост N: 106
Зарегистрирован: 13.06.12
ссылка на сообщение  Отправлено: 22.07.17 22:06. Заголовок: Петр пишет: В MiniG..


Петр пишет:

 цитата:
В MiniGUI есть пример для работы с libxlsxwriter.dll (формат xlsx).



Где лежит? Что-то не нахожу...

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6509
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 23.07.17 12:56. Заголовок: Панченко пишет: Где..


Панченко пишет:

 цитата:
Где лежит? Что-то не нахожу...


C:\MiniGUI\SAMPLES\Advanced\HbXlsxWriter\

Спасибо: 0 
Профиль
Панченко





Пост N: 107
Зарегистрирован: 13.06.12
ссылка на сообщение  Отправлено: 24.07.17 12:48. Заголовок: Dima Спасибо. Пере..


Dima

Спасибо. Перешел на версию 17.06. Действительно, пример там и лежит :))

Спасибо: 0 
Профиль
Панченко





Пост N: 108
Зарегистрирован: 13.06.12
ссылка на сообщение  Отправлено: 29.07.17 19:23. Заголовок: Pasha пишет: все во..


Pasha пишет:

 цитата:
все вопросы в dev list утрясены, и поддержка многомерных массивов Variant добавлена в Harbour.
...
oRange:Value := __oleVariantNew( WIN_VT_VARIANT, aSet, nRows, nColunms )


Логичным был бы второй шаг - такое же быстрое заполнение массива значениями oRange:Value. Этот вопрос не поднимается?

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 3575
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 02.08.17 12:54. Заголовок: И до этих правок мож..


И до этих правок можно было считать в массив значение Range для диапазона ячеек. Только массив получался с перевернутыми размерностями: сначала столбец, потом строка.
Теперь же в массив считываются значения диапазона как положено: [ <строка>, <столбец> ]
Никаких дополнительных функций вызывать не надо, просто вызвать:
aValues := oRange:Value

Спасибо: 0 
Профиль
Панченко





Пост N: 109
Зарегистрирован: 13.06.12
ссылка на сообщение  Отправлено: 03.08.17 17:28. Заголовок: to Pasha Спасибо...


to Pasha

Спасибо.

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 5844
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.04.18 15:32. Заголовок: Pasha пишет: Как уж..


Pasha пишет:

 цитата:
Как уже отмечалось, харбор не поддерживает создание двумерных массивов Variant, и из-за этого
в Excel не получается присвоить значение диапазону ячеек, состоящему из нескольких строк.
Приходится присваивать значение построчно, что намного медленнее. Или копировать диапазон через
буфер обмена. Это быстро, но сносит форматирование, что тоже не всегда приемлемо.

Написал функцию, которая позволяет это делать.

Ссылка на функцию с примером:

http://my-files.ru/n4n4id



Файл удалён. Можно его выложить заново ?

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6821
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 26.04.18 16:02. Заголовок: Andrey пишет: Файл ..


Andrey пишет:

 цитата:
Файл удалён. Можно его выложить заново ?


https://cloud.mail.ru/public/22h1/4N2PZfRNW

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 5845
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.04.18 16:32. Заголовок: Спасибо ! :sm36: ..


Спасибо !

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 1230
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 26.04.18 23:10. Заголовок: Так оно Пашиными ста..


Так оно Пашиными стараниями уже давно в дистрибутиве харбура. Я пользуюсь без всяких дополнительных функций.
Все родное, харбуровское. Или речь не о том?

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 5849
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.04.18 07:28. Заголовок: Haz пишет: Я пользу..


Haz пишет:

 цитата:
Я пользуюсь без всяких дополнительных функций.
Все родное, харбуровское. Или речь не о том?


А есть пример небольшой, демонстрирующий как этим пользоваться ?

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 1408
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 27.04.18 08:23. Заголовок: В файле по ссылке и ..


Andrey пишет:

 цитата:
А есть пример небольшой, демонстрирующий как этим пользоваться ?


В файле по ссылке и есть пример.

Спасибо: 0 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 297
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет