powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выгрузить в Exel в таком виде
24 сообщений из 24, страница 1 из 1
Выгрузить в Exel в таком виде
    #38607103
Привет есть таблица, нужно из нее выгрузить данные в таком виде как на картинке. Строки это названия медуслуг, а столбцы количество услуг от каждого ЛПУ. помогите выгрузить в эксель в таком виде. Не сталкивался с этим никогда приложу таблицу и опишу поля.. это урезанная таблица, таких данных много.

таким запросом получаю нужные данные
Код: sql
1.
SELECT distinct met_name,lpu_name,COUNT(kol_usl) FROM rablab WHERE otd='Лаб.' AND excluded=.f. GROUP BY lpu_name,met_name
...
Рейтинг: 0 / 0
Выгрузить в Exel в таком виде
    #38607105
Вот таблица
...
Рейтинг: 0 / 0
Выгрузить в Exel в таком виде
    #38607107
из этой окончательной таблицы надо выгрузить в таком виде данные
...
Рейтинг: 0 / 0
Выгрузить в Exel в таком виде
    #38607146
новичок20142014,
Алгоритм примерно такой:
1. Выбрать в отдельный курсор уникальные названия учреждений и поместить их в заголовки столбцов
2. Выбрать уникальные названия услуг в отдельный курсор
3. двойной цикл по названию учреждений и услуг помещает данные в соответствующие ячейки

Естественно, что нужно открыть Эксель как СОМ-объект... И использовать команды VBA преобразованные к вызовам методов СОМ-объекта...
...
Рейтинг: 0 / 0
Выгрузить в Exel в таком виде
    #38607154
Станислав С...кий, Если бы я знал как все это сделать. с фокспро знаком поверхностно, сейчас необходимость появилась просто такую штуку сделать и не знаю как.
...
Рейтинг: 0 / 0
Выгрузить в Exel в таком виде
    #38607159
В курсоры могу выгрузить уникальные значения, а дальше ступор
...
Рейтинг: 0 / 0
Выгрузить в Exel в таком виде
    #38607188
можно пример что делать дальше?
...
Рейтинг: 0 / 0
Выгрузить в Exel в таком виде
    #38607207
RenVold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А столбцы и строки постоянные? Если да - то проще использовать заранее подготовленный шаблон, в который выгружаешь полученные селектом данные.
...
Рейтинг: 0 / 0
Выгрузить в Exel в таком виде
    #38607210
это для одного раза нужно, на данный момент постоянные, но эта таблица урезанная в ней не все медуслуги и не все поликлиники.
...
Рейтинг: 0 / 0
Выгрузить в Exel в таком виде
    #38607218
подскажите как с циклами сделать как Станислав говорит, я логику не понял что дальше делать
...
Рейтинг: 0 / 0
Выгрузить в Exel в таком виде
    #38607240
новичок20142014подскажите как с циклами сделать как Станислав говорит, я логику не понял что дальше делать

ну, как-то так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
* Заполняем по столбцам.
* в первом столбце - названия медуслуг
select medusl && услуги
scan
  select meduch && учреждения
scan
   select isxod &&исходный курсор с услугами и учреждениями 
   locate for isxod.kodmeduch = meduch.kod and isxod.kodusl = medusl.kod
   if found()
         <здесь пишутся данные в ячейки Эксель>
   endif
   select meduch
endscan
  select medusl
endscan
...
Рейтинг: 0 / 0
Выгрузить в Exel в таком виде
    #38607292
Станислав С...кий,

Код: sql
1.
2.
3.
if found()
         <здесь пишутся данные в ячейки Эксель>
   endif



Извините, но я это не понимаю как делать. Сейчас время поджимает чтобы посидеть и изучить как вставлять данные в эксель. Знаю только как экспортировать курсор в эксель и все
...
Рейтинг: 0 / 0
Выгрузить в Exel в таком виде
    #38607321
garbushka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
tmpSheet_		= GetObject('','Excel.Sheet')
XLApp_			= tmpSheet_.Application
Open_FileName = _home + 'Doc\' + 'ДОКУМЕНТ.xls'
XLApp_.WorkBooks.Open(Open_FileName)
XLApp_.ActiveWorkbook.Windows(1).WindowState = 2
XLSheet_	= XLApp_.ActiveSheet
XLApp_.Visible = .t.
************************
XLSheet.Cells( 3, Range_Xls).VALUE = 'Количество'
************************


ну наверное как-то так
...
Рейтинг: 0 / 0
Выгрузить в Exel в таком виде
    #38607323
garbushka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
5.
6.
tmpSheet		= GetObject('','Excel.Sheet')
XLApp			= tmpSheet.Application
XLApp.WorkBooks.Add
XLApp.ActiveWorkbook.Windows(1).WindowState = 2
XLSheet	= XLApp.ActiveSheet
XLApp.Visible = .t.


а так если нужно создать новый документ
...
Рейтинг: 0 / 0
Выгрузить в Exel в таком виде
    #38607327
Запустил то что получилось. У меня эксель куча раз открываться начал при выполнении и в конце какая-то ошибка. Вот что у меня получилось

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
SELECT distinct met_name,n_met FROM itog INTO CURSOR medusl
SELECT distinct lpu_name,kodfomslpu FROM itog INTO CURSOR meduch

  
select medusl && услуги
scan
  select meduch && учреждения
scan
   select itog &&исходный курсор с услугами и учреждениями 
   locate for itog.kodfomslpu=meduch.kodfomslpu and itog.n_met=medusl.n_met
   if found()
		tmpSheet		= GetObject('','Excel.Sheet')
		XLApp			= tmpSheet.Application
		XLApp.WorkBooks.Add
		XLApp.ActiveWorkbook.Windows(1).WindowState = 2
		XLSheet	= XLApp.ActiveSheet
		XLApp.Visible = .t.
   endif
   select meduch
endscan
  select medusl
endscan
...
Рейтинг: 0 / 0
Выгрузить в Exel в таком виде
    #38607363
garbushka, Не то что-то. В обеих случаях при запуске бесконечно открывает Excel.
...
Рейтинг: 0 / 0
Выгрузить в Exel в таком виде
    #38607367
garbushka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
новичок20142014
посмотри на свой код!!!!
это естественно файл нужно открыть/создать до цикла, а в цикле заполняешь данными документ …..
...
Рейтинг: 0 / 0
Выгрузить в Exel в таком виде
    #38607370
garbushka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: 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.
		tmpSheet		= GetObject('','Excel.Sheet')
		XLApp			= tmpSheet.Application
		XLApp.WorkBooks.Add
		XLApp.ActiveWorkbook.Windows(1).WindowState = 2
		XLSheet	= XLApp.ActiveSheet
		XLApp.Visible = .t.


SELECT distinct met_name,n_met FROM itog INTO CURSOR medusl
SELECT distinct lpu_name,kodfomslpu FROM itog INTO CURSOR meduch

Range_Xls = 3

  
select medusl && услуги
scan
  select meduch && учреждения
scan
   select itog &&исходный курсор с услугами и учреждениями 
   locate for itog.kodfomslpu=meduch.kodfomslpu and itog.n_met=medusl.n_met
   if found()
	XLSheet.Cells( 3, Range_Xls).VALUE = 'данные с таблицы'
	Range_Xls = Range_Xls + 1
   endif
   select meduch
endscan
  select medusl
endscan



как-то так ... дальше сам ....
...
Рейтинг: 0 / 0
Выгрузить в Exel в таком виде
    #38607392
garbushka, То что вы написали "Данные с таблицы" - это количество услуг т.е. поле cnt_kol_us если я правильно понял? Скопировал ваш код с такой поправкой он в экселе вывел на третьей строке подряд цифры и все. А услуги и учреждения почему-то не отобразились. Их как вывести?

Код: 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.
tmpSheet		= GetObject('','Excel.Sheet')
XLApp			= tmpSheet.Application
XLApp.WorkBooks.Add
XLApp.ActiveWorkbook.Windows(1).WindowState = 2
XLSheet	= XLApp.ActiveSheet
XLApp.Visible = .t.
		
SELECT distinct met_name,n_met FROM itog INTO CURSOR medusl
SELECT distinct lpu_name,kodfomslpu FROM itog INTO CURSOR meduch

Range_Xls = 3

  
select medusl && услуги
scan
  select meduch && учреждения
scan
   select itog &&исходный курсор с услугами и учреждениями 
   locate for itog.kodfomslpu=meduch.kodfomslpu and itog.n_met=medusl.n_met
   if found()
	XLSheet.Cells( 3, Range_Xls).VALUE = itog.cnt_kol_us
	Range_Xls = Range_Xls + 1
   endif
   select meduch
endscan
  select medusl
endscan
...
Рейтинг: 0 / 0
Выгрузить в Exel в таком виде
    #38607428
Фотография pipos522
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
новичок20142014,

"нужно из нее выгрузить данные в таком виде как на картинке"
по внешнему виду накидал немного
...
Рейтинг: 0 / 0
Выгрузить в Exel в таком виде
    #38607452
pipos522, Немножко не так. Где учреждения один раз должно быть всего учреждение, а первый столбец где медуслуги там не должно быть повторяющихся услуг. т.е. первый столбик все уникальные услуги по названию, последующие столбцы все учреждения например:

Поликлиника Стационар СтационарВГороде
услуга 1 4 7 8
услуга 2 5 7 4
услуга 3 6 8 3
...
Рейтинг: 0 / 0
Выгрузить в Exel в таком виде
    #38607460
...
Рейтинг: 0 / 0
Выгрузить в Exel в таком виде
    #38607472
Фотография pipos522
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
новичок20142014, тебе информации накидали очень много собери всё в 1н отчет и наслаждайся)
...
Рейтинг: 0 / 0
Выгрузить в Exel в таком виде
    #38608253
Фотография descent52
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
походу помогли ему на фоксклубе , не надо ему уже ничего.На радостях даже спасибо забыл написать. ))
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выгрузить в Exel в таком виде
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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