Автор Тема: Выгрузка из Json в Excel  (Прочитано 2874 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн babanty [?]

  • Новичок
  • *
  • Сообщений: 34
  • Репутация: 1
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Выгрузка из Json в Excel
« Создано: Март 06, 2015, 11:39:33 »
Привет, помогите пожалуйста выгрузить информацию из вот этого Json  http://budget.gov.ru/epbs/faces/p/Данные%20и%20сервисы/opendata/7710568760-FEDBUDGETAGREEMENT/?_adf.ctrl-state=1c48eoef71_21&_afrLoop=598767380773048&_afrWindowMode=0&_afrWindowId=null#!%40%40%3F_afrWindowId%3Dnull%26_afrLoop%3D598767380773048%26_afrWindowMode%3D0%26_adf.ctrl-state%3D5nv1rdal2_4 в Excel
Пока имеются только наброски, например,
Код: AutoIt [Выделить]
If WinExists(@ScriptName) Then Exit AutoItWinSetTitle(@ScriptName)

HotKeySet('{ESC}', "Terminate")

#include <INet.au3>
#include <Encoding.au3>
#include <JSON.au3>
#include <JSON_helper.au3>
#include <JSON_translate.au3>

Dim $_inn
$_inn = 123456789
$data=_INetGetSource("http://budget.gov.ru/opendata/" & $_inn & "-FEDBUDGETAGREEMENT/meta.json")
$data=_Encoding_UTF8toansi($data)
$web=_JSONdecode($data)

Sleep(700)

ShellExecute("Excel.exe")

$file = FileOpen($_inn & ".json", 1)
If $file = -1 Then
MsgBox(0, "Error", "Unable to open file.")
Exit
EndIf

FileRead($file, $sData)

$tab=$table[$i]
For $i=0 to Ubound ($table) - 1
Send($tab[1])
Send("{RIGHT}")
Sleep(200)
Send($tab[3])
Send("{RIGHT}")
Sleep(200)
Send($tab[5])
Send("{RIGHT}")
Sleep(200)
Send($tab[7])
Send("{RIGHT}")
Sleep(200)
Send($tab[9])
Send("{RIGHT}")
Sleep(200)
Send("{HOME}{DOWN}")
Next

Func Terminate()
Exit 0
EndFunc

В Excel другим способом:
Код: AutoIt [Выделить]
$oExcel = ObjCreate("Excel.Application") ; Создаёт Excel объект
$oExcel.Visible = 1 ; Отобразить объект Excel
$oExcel.WorkBooks.Add ; Добавляет новую книгу
$oExcel.ActiveWorkBook.ActiveSheet.Cells(1, 1).Value = "Text" ; Заполняет ячейку
Sleep(4000) ; Посмотреть результаты в течении 4-х секунд
$oExcel.ActiveWorkBook.Saved = 1 ; Имитация сохранения книги
$oExcel.Quit ; Выход из Excel


Русское сообщество AutoIt

Выгрузка из Json в Excel
« Отправлен: Март 06, 2015, 11:39:33 »

Оффлайн babanty [?]

  • Новичок
  • *
  • Сообщений: 34

  • Автор темы
  • Репутация: 1
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Выгрузка из Json в Excel
« Ответ #1, Отправлен: Март 07, 2015, 09:26:14 »
Нашел решение для паспорта, но не для APIшника, может кому понадобится, по апишнику выводит общую инфу
Код: AutoIt [Выделить]
Dim $_inn
$_inn = 7710568760
$data=_INetGetSource("http://budget.gov.ru/opendata/" & $_inn & "-FEDBUDGETAGREEMENT/meta.json")
;$data=_INetGetSource("http://budget.gov.ru/epbs/registry/grants/data?offset..")
$data=_Encoding_UTF8toansi($data)
$web=_JSONdecode($data)

$oExcel = ObjCreate("Excel.Application") ; Создаёт Excel объект
$oExcel.Visible = 1 ; Отобразить объект Excel
$oExcel.WorkBooks.Add ; Добавляет новую книгу

For $i = 0 To UBound($web)-1
For $ii = 0 To UBound($web,2)-1
$oExcel.ActiveWorkBook.ActiveSheet.Cells($i+1, $ii+1).Value = $web[$i][$ii] ; Заполняет ячейку
Next
Next
 


Русское сообщество AutoIt

Re: Выгрузка из Json в Excel
« Ответ #1 Отправлен: Март 07, 2015, 09:26:14 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
3 Ответов
2309 Просмотров
Последний ответ Октябрь 27, 2014, 23:21:32
от DarWiM
8 Ответов
3652 Просмотров
Последний ответ Январь 16, 2016, 18:14:56
от scrdj
4 Ответов
1582 Просмотров
Последний ответ Декабрь 21, 2015, 20:48:18
от SealAlbinos
1 Ответов
2310 Просмотров
Последний ответ Декабрь 21, 2015, 17:25:49
от ra4o
1 Ответов
3620 Просмотров
Последний ответ Май 01, 2016, 14:30:35
от inververs
4 Ответов
1890 Просмотров
Последний ответ Июль 31, 2016, 21:43:59
от tamirlan1
5 Ответов
1467 Просмотров
Последний ответ Июнь 19, 2017, 20:30:24
от Garrett
2 Ответов
327 Просмотров
Последний ответ Май 17, 2018, 17:28:59
от Zizya1
3 Ответов
498 Просмотров
Последний ответ Август 28, 2018, 18:37:42
от sngr
4 Ответов
354 Просмотров
Последний ответ Февраль 08, 2019, 00:32:31
от wehr