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




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


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

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 179 , стр: 1 2 3 4 5 6 7 8 9 All [только новые]


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




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


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


Спасибо: 2 
ПрофильЦитата Ответить
Администратор




Пост 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 
ПрофильЦитата Ответить
администратор




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


Pasha пишет:

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



Спасибо.

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


Пост 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 
ПрофильЦитата Ответить
постоянный участник


Пост 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 
ПрофильЦитата Ответить
постоянный участник


Пост 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 
ПрофильЦитата Ответить
администратор




Пост 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 
ПрофильЦитата Ответить
Администратор




Пост 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 
ПрофильЦитата Ответить
постоянный участник




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


Pasha пишет:

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

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

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

http://my-files.ru/n4n4id



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

Спасибо: 0 
ПрофильЦитата Ответить
администратор




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


Andrey пишет:

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


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

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




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


Спасибо !

Спасибо: 0 
ПрофильЦитата Ответить
moderator


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


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

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




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


Haz пишет:

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


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

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


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


Andrey пишет:

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


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

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 179 , стр: 1 2 3 4 5 6 7 8 9 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 601
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет