powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблема с выводом в excel из таблицы.
6 сообщений из 6, страница 1 из 1
Проблема с выводом в excel из таблицы.
    #39522019
dima_18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день всем!

Подскажите пожалуйста с решением следующей проблемы. Никак не могу сообразить. Есть у меня таблица, которую прикладываю к письму.

Опишу сразу (без просмотра ее, хотя она приложена) что в ней есть:
fiob stoim naim_usl
Чубарова 99.9 консультация пол-ки
Чубарова 418.0 консультация эндокринолога

Более детально в таблице.

Нужно вывести в exсel следующую информацию:

Чубарова 99.9 консультация пол-ки
418.0 консультация консультация эндокринолога


Т.е. заголовок допустим фио для отдельного человека, а в нем идут подпункты.
Могут идти в принципе записи так:

fiob stoim naim_usl
Чубарова 99.9 консультация пол-ки
Чубарова 418.0 консультация эндокринолога
Петров 99.9 консультация пол-ки
Петров 418.0 консультация эндокринолога

Нужно в принципе вывести тогда так:

Чубаров 99.9 консультация пол-ки
418.0 консультация эндокринолога

Петров 99.9 консультация пол-ки
418.0 консультация эндокринолога

Т.е. группировкой по фио и с пробелом.

Я не понимаю как группировать т.е. один раз фио выписывать и как переходить к другому фио после прохода первого фио.
помогите пожалуйста. В принципе я привожу пример таблицы - конечно есть и id_pers у человека - без проблем можно в таблицу вставить - это просто я не вставил.
Как я вывожу в excel я кидаю код (я делаю так):

NameFile = 'Øàáëîí1.XLS'
nameExcel = f3_ot + NameFile
NameFile1 = '&sum_str' + '.XLS'
*NameFile1 = 'àëÿïøåâ'+ '.XLS'
saveExcel = f3_ot+NameFile1

WAIT WINDOW NOWAIT "Èä¸ò âûâîä â ôàéë " + saveExcel
tmpsheet = GETOBJECT("","Excel.Sheet")
loExcel = tmpsheet.application
loBook = loExcel.Workbooks.Open(nameExcel)
loSheet = loExcel.sheets(1)

sele custship
k1 = ALLTRIM(custship.par5)
k2 = ALLTRIM(custship.par6)
k3 = ALLTRIM(custship.par7)
k4 = ALLTRIM(custship.par8)
k5 = ALLTRIM(custship.par9)
k6 = ALLTRIM(custship.par10)
k7 = ALLTRIM(custship.par11)
k8 = ALLTRIM(custship.par12)
form_str = 'OD ñôåðà'+'&k1'+';'+'öèë.'+'&k2'+';'+'îñü'+'&k3'+';'+'OS ñôåðà'+'&k4'+';'+'öèë.'+'&k5'+';'+'îñü'+'&k6'+';'+'ÐÖ'+'&k7'+';'+'òèï ëèíç'+'&k8'
go top
DO WHILE .T.
IF EOF()
EXIT
ELSE
.cells(j,2).Value = custship.par2
.cells(j,1).Value = custship.par1
.cells(j,3).Value = custship.fname
.cells(j,4).Value = form_str
.cells(j,7).Value = custship.par14
.cells(j,8).Value = custship.par13
.cells(j,9).Value = custship.par15
.cells(j,10).Value = custship.par17
.cells(j,11).Value = custship.par19
.cells(j,12).Value = custship.par3
...
Рейтинг: 0 / 0
Проблема с выводом в excel из таблицы.
    #39522020
dima_18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тут плохо вышло как я хочу постараюсь снова сделать

Чубаров:

99.9 консуль пол-ки
140.0 консульта эндор


Петров:

99.9 консуль пол-ки
140.0 консульта эндор

т.е. такая группировка

спасибо
...
Рейтинг: 0 / 0
Проблема с выводом в excel из таблицы.
    #39522022
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dima_18,
ужас...
Кто вас научил для склейки строк использовать макроподстановку?
Сравните:
Код: sql
1.
NameFile1 = '&sum_str' + '.XLS'


и
Код: sql
1.
NameFile1 = sum_str + '.XLS'
...
Рейтинг: 0 / 0
Проблема с выводом в excel из таблицы.
    #39522192
dima_18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый Сергей!

Большое спасибо за комментарий, но во -первых я это делаю и проблем нет, да и еще я привожу часть кода. Во-вторых, там все получается и так работал, спасибо за совет буду делать как Вы сказали - это не беда и не фатально. Но ответ на мой вопрос, который актуален - так и остался в силе.
Спасибо!
...
Рейтинг: 0 / 0
Проблема с выводом в excel из таблицы.
    #39522389
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам не надо группировать. Вам надо сортировать. Т.е. выводить данные в определенном порядке. При этом, в процессе вывода анализировать текущее значение с тем, что было в предыдущей строке

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
* переменная, в которой будет хранится значение поля из предыдущей строки
local lcFioBPrev, lnRowNum
lcFioBPrev = ''
lnRowNum = 0

* Для таблицы настраиваем сортировку
* Предполагая, что у таблицы есть индекс по нужному полю
sele custship
set order to tag fiob && предполагаю, что есть индексный тег с именем fiob 

* Собственно вывод
scan

   * Номер строки Excel
   lnRowNum = m.lnRowNum+1

    * Если предыдущее значение отлично от текущего, то нужно сделать заголовок
    if m.lcFioBPrev <> custship.FioB
        .cells(m.lnRowNum,1).Value = custship.FioB
        lnRowNum = m.lnRowNum+1
    endif

    * Вывод данных по очередной строке
    .cells(m.lnRowNum,1).Value = custship.stoim
    .cells(m.lnRowNum,2).Value = custship.naim_usl

    * Обновляю значение переменной для анализа следующей записи
    m.lcFioBPrev = custship.FioB

endscan
...
Рейтинг: 0 / 0
Проблема с выводом в excel из таблицы.
    #39522801
dima_18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир, большое спасибо за ответ!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблема с выводом в excel из таблицы.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]