Mwen te repete analize fason yo enpòte done nan Excel soti nan entènèt la ak mizajou otomatik ki vin apre. An patikilye:
- Nan vèsyon ki pi gran nan Excel 2007-2013, sa a ta ka fè ak yon demann entènèt dirèk.
- Kòmanse nan 2010, sa ka fè trè pratik ak Power Query ajoute nan.
Nan metòd sa yo nan dènye vèsyon yo nan Microsoft Excel, ou kapab kounye a ajoute yon lòt - enpòte done ki soti nan entènèt la nan fòma XML lè l sèvi avèk fonksyon entegre.
XML (eXtensible Markup Language = Extensible Markup Language) se yon lang inivèsèl ki fèt pou dekri nenpòt kalite done. An reyalite, li se tèks klè, men ak tags espesyal ajoute nan li yo make moute estrikti nan done. Anpil sit bay done yo gratis nan fòma XML pou nenpòt moun ka telechaje. Sou sit entènèt la nan Bank Santral Peyi nou an (www.cbr.ru), an patikilye, avèk èd nan yon teknoloji menm jan an, yo bay done sou echanj pousantaj lajan yo nan divès kalite lajan. Soti nan sit entènèt la Moscow Exchange (www.moex.com) ou ka telechaje quotes pou aksyon, obligasyon ak anpil lòt enfòmasyon itil nan menm fason an.
Depi vèsyon 2013, Excel gen de fonksyon pou dirèkteman chaje done XML soti nan entènèt la nan selil Fèy travay: SÈVIS WEB (SÈVIS WEB) и FILTER.XML (FILTERXML). Yo travay an pè - premye fonksyon an SÈVIS WEB egzekite yon demann nan sit la vle epi retounen repons li nan fòma XML, ak Lè sa a, sèvi ak fonksyon an FILTER.XML nou "parse" repons sa a nan eleman, èkstraksyon done nou bezwen nan li.
Ann gade nan operasyon fonksyon sa yo lè l sèvi avèk yon egzanp klasik - enpòte pousantaj dechanj la nan nenpòt lajan nou bezwen pou yon entèval dat yo soti nan sit entènèt la nan Bank Santral Peyi nou an. Nou pral itilize konstriksyon sa a kòm yon vid:
Isit la:
- Selil jòn yo gen dat kòmansman ak fen peryòd ki enterese nou an.
- Yon sèl ble a gen yon lis drop-down nan lajan lè l sèvi avèk kòmandman an Done – Validasyon – Lis (Done — Validasyon — Lis).
- Nan selil vèt yo, nou pral sèvi ak fonksyon nou yo pou kreye yon kòd rechèch epi jwenn repons sèvè a.
- Tablo ki sou bò dwat la se yon referans a kòd lajan (nou pral bezwen li yon ti kras pita).
Ann al!
Etap 1. Fòme yon fisèl rechèch
Pou jwenn enfòmasyon ki nesesè yo nan sit la, ou bezwen mande li kòrèkteman. Nou ale nan www.cbr.ru epi ouvri lyen ki nan pye paj prensipal la' Resous teknik - Jwenn done lè l sèvi avèk XML (http://cbr.ru/development/SXML/). Nou defile yon ti kras pi ba epi nan dezyèm egzanp lan (Egzanp 2) pral gen sa nou bezwen - jwenn to echanj yo pou yon entèval dat yo bay:
Kòm ou ka wè nan egzanp lan, fisèl rechèch la dwe genyen dat kòmansman (dat_req1) ak fen (dat_req2) nan peryòd ki enterese nou ak kòd lajan an (VAL_NM_RQ), to nou vle jwenn. Ou ka jwenn kòd lajan prensipal yo nan tablo ki anba a:
Lajan | Kòd | | Lajan | Kòd |
Ostralyen dola | R01010 | Lityan litas | R01435 | |
chilin Ostralyen | R01015 | koupon Lityanyen | R01435 | |
Azerbaijan manat | R01020 | Moldavi leu | R01500 | |
Pound | R01035 | РќРµРјРµС † РєР ° СЏ РјР ° СЂРєР ° | R01510 | |
Angolan nouvo kwanza | R01040 | Dutch guilder | R01523 | |
Dram Amenyen | R01060 | norwegian Krone | R01535 | |
Belarusian Ruble | R01090 | Polonè zloti | R01565 | |
Franc Bèlj | R01095 | Pòtigè escudo | R01570 | |
Lyon an Bulgarian | R01100 | Romanian leu | R01585 | |
Reyèl brezilyen | R01115 | Singapore Dola | R01625 | |
Ongwa forint | R01135 | dola Sirinam | R01665 | |
Hong Kong Dola | R01200 | Tajik somoni | R01670 | |
drakm grèk | R01205 | Tajik ruble | R01670 | |
Kroni Danwa | R01215 | Tik lira | R01700 | |
Dola ameriken | R01235 | Tirkmen manat | R01710 | |
Euro | R01239 | Nouvo Turkmen manat | R01710 | |
Endyen roupi | R01270 | Sòm Uzbek | R01717 | |
Ilandè liv | R01305 | our country hryvnia | R01720 | |
kouwòn Icelandic | R01310 | our country karbovanets | R01720 | |
peseta Panyòl | R01315 | mak Finnish | R01740 | |
Lira Italyen | R01325 | fran franse | R01750 | |
Kazakhstan tenge | R01335 | Kwoasyen Tchekoslovaki | R01760 | |
Kanadyen Dola | R01350 | Kouron Syèd | R01770 | |
Kyrgyz som | R01370 | Swis Frank | R01775 | |
Chinwa Yuan | R01375 | kroon Estonyen | R01795 | |
Kawèt dinar | R01390 | Yougoslavi nouvo dina | R01804 | |
Latvian lats | R01405 | Sid Afriken rand | R01810 | |
Liv libanè | R01420 | Repiblik Kore di te genyen | R01815 | |
Yen Japonè | R01820 |
Yon gid konplè sou kòd lajan yo disponib tou sou sit entènèt Bank Santral la - gade http://cbr.ru/scripts/XML_val.asp?d=0
Koulye a, nou pral fòme yon kòd rechèch nan yon selil sou yon fèy ak:
- operatè a konkatanasyon tèks (&) pou mete l ansanm;
- karakteristik VPR (VCHACHUP)pou jwenn kòd lajan nou bezwen an nan anyè a;
- karakteristik Tèks (Tèks), ki konvèti dat la dapre modèl yo bay jou-mwa-ane atravè yon koupe.
="http://cbr.ru/scripts/XML_dynamic.asp?date_req1="&ТЕКСТ(B2;"ДД/ММ/ГГГГ")& "&date_req2="&ТЕКСТ(B3;"ДД/ММ/ГГГГ")&"&VAL_NM_RQ="&ВПР(B4;M:N;2;0)
Etap 2. Egzekite demann lan
Koulye a, nou itilize fonksyon an SÈVIS WEB (SÈVIS WEB) ak fisèl la rechèch pwodwi kòm agiman an sèlman. Repons lan pral yon liy long nan kòd XML (li pi bon yo vire sou vlope mo ak ogmante gwosè selil la si ou vle wè li nan antye):
Etap 3. Analize repons lan
Pou fè li pi fasil pou konprann estrikti done repons yo, li pi bon pou itilize youn nan analizeur XML sou entènèt (pa egzanp, http://xpather.com/ oswa https://jsonformatter.org/xml-parser), ki ka vizyèlman fòma XML kòd, ajoute endens nan li epi mete aksan sou sentaks la ak koulè. Lè sa a, tout bagay ap vin pi klè:
Koulye a, ou ka klèman wè ke valè kou yo ankadre pa tag nou yo
Pou ekstrè yo, chwazi yon kolòn nan dis (oswa plis - si fè ak yon maj) selil vid sou fèy la (paske yon entèval dat 10-jou te fikse) epi antre fonksyon an nan ba fòmil la. FILTER.XML (FILTREXML):
Isit la, premye agiman an se yon lyen ki mennen nan yon selil ki gen yon repons sèvè (B8), ak dezyèm lan se yon seri rechèch nan XPath, yon lang espesyal ki ka itilize pou jwenn aksè nan fragman kòd XML ki nesesè yo epi ekstrè yo. Ou ka li plis enfòmasyon sou lang XPath, pou egzanp, isit la.
Li enpòtan ke apre w fin antre nan fòmil la, pa peze Antre nan, ak chemen kout klavye a Ctrl+Ka glise+Antre nan, sa vle di antre nan li kòm yon fòmil etalaj (atèl boukle yo ki ozalantou li yo pral ajoute otomatikman). Si ou gen vèsyon an dènye nan Office 365 ak sipò pou etalaj dinamik nan Excel, Lè sa a, yon senp Antre nan, epi ou pa bezwen chwazi selil vid davans - fonksyon an li menm pral pran anpil selil jan li bezwen.
Pou ekstrè dat, nou pral fè menm bagay la - nou pral chwazi plizyè selil vid nan kolòn adjasan a epi sèvi ak menm fonksyon an, men ak yon rekèt XPath diferan, yo ka resevwa tout valè yo nan atribi yo Dat nan tag yo Dosye:
=FILTER.XML(B8;”//Dosye/@Dat”)
Koulye a, nan lavni an, lè w ap chanje dat yo nan selil orijinal B2 ak B3 yo oswa w ap chwazi yon lajan diferan nan lis deroule selil B3, rechèch nou an pral otomatikman mete ajou, refere li a sèvè Bank Santral la pou nouvo done. Pou fòse yon aktyalizasyon manyèlman, ou ka anplis itilize chemen kout klavye a Ctrl+Alt+F9.
- Enpòte pousantaj bitcoin nan Excel atravè Power Query
- Enpòte to echanj soti nan entènèt la nan ansyen vèsyon Excel