Что нового

Выгрузка из Json в Excel

babanty

Новичок
Сообщения
34
Репутация
1
Привет, помогите пожалуйста выгрузить информацию из вот этого 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
Пока имеются только наброски, например,
Код:
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 другим способом:
Код:
$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
 
Автор
B

babanty

Новичок
Сообщения
34
Репутация
1
Нашел решение для паспорта, но не для APIшника, может кому понадобится, по апишнику выводит общую инфу
Код:
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
 
Верх