Hay varias formas de obtener datos de la API a MS Excel, pero nos vamos a centrar en la opción más sencilla (incluido el tutorial en vídeo) para personas sin conocimientos técnicos:
1. Usar el código Python/R/JavaScript/PHP y guardarlo en un archivo de MS Excel
--> esta opción requiere conocimientos de programación y un entorno preinstalado.
2. Uso del software Postman
--> requiere el software Postman preinstalado y mucho trabajo manual
3. Usando Power Query
--> requiere conocimientos básicos de programación y familiarizarse con PowerQuery
4. Usando la fórmula VLOOKUPWEB
--> No requiere habilidades de programación y la opción más simple posible
Nos vamos a centrar en la explicación de la cuarta forma más sencilla de este artículo al obtener datos en tablas de Excel desde la API con formato JSON (usando los métodos POST o GET)
La fórmula VLOOKUPWEB funciona tan simple como la fórmula de Excel VLOOKUP habitual con la siguiente sintaxis:
=vlookupweb(1-enlace-a-api, 2-campo-para-consultar, 3-tiempo de espera-en-segundos-entre-llamadas, 4-token-si-es-necesario, 5-cuerpo-para-publicar-o -empty-for-get-request)
VLOOKUPWEB requiere los siguientes parámetros de entrada:
Para agregar esta función a su Excel:
El código fuente de la función VBA personalizada que puede encontrar a continuación. Para obtener la última versión de vlookup para la función web , puede consultar nuestro repositorio de GitHub
' ------------------------------------------------------------------------ 'This function is property of NLSQL Limited, 'NLSQL is B2B SaaS to empower employees with intuitive text interface to 'poorly -accessible coporate data to inform and speed business decisions with significant benefits for enterprises. 'Below code is 100 % open -source under MIT Licence, so you can feel free to use it for 'Commercial use , Modification, Distribution or private use . Except if you are Microsoft =) 'NLSQL Limited don 't have any Liability or Warranties related to your code usage 'subscribe to our LinkedIn https://www.linkedin.com/company/nlsql-com 'or Youtube https://www.youtube.com/channel/UC8KtzeNHxhLGVwiOCwvRBkg?sub_confirmation= 1 'in order to have even more great open -source tools, absolutely free 'By Denis 'Date : 06 / 09 / 2021 'info @nlsql.com 'https ://nlsql.com///// ' ------------------------------------------------------------------------ 'Function works similar to standard Excel VLOOKUP function , 'so it finds the FIRST value based on API connection and field name from API responce Function VLOOKUPWEB(ByVal cell As Range , ByVal txt As String , Optional ByVal pause, _ Optional ByVal header As String , Optional ByVal postcell As Range ) As String ' As Integer On Error Resume Next Dim GetResponse As String FuncDesc = "Function created for Vlookup JSON to excel in a most simpliest way same as using VLOOKUP" URL = cell.Value 'URL is required to have correct API link including https or http. HTTPS works better for the data security GetResponse = "" If URL Like "*http*" Then If Not postcell Is Nothing Then pst = postcell.Value zapr = "POST" 'support of POST request. Body ( 5 th) Postcell argument is required Else pst = "" zapr = "GET" 'support of GET request. All parameters expected to be in ( 1 st) Cell argument End If Set xmlhttp = CreateObject( "WinHttp.WinHttpRequest.5.1" ) 'MSXML2 .XMLHTTP xmlhttp. Open zapr, URL, False : DoEvents xmlhttp.setRequestHeader "Authorization" , header 'you can change Authorization to api-key, etc. as required by API provider xmlhttp.setRequestHeader "Content-Type" , "application/json" 'you can add as much headers as needed xmlhttp.send pst 'send request both POST and GET supported GetResponse = xmlhttp.responseText 'MsgBox GetResponse Set xmlhttp = Nothing End If If pause > 0 Then t = Timer ' 3 rd argument - Pause in seconds for time - out Do DoEvents If t > Timer Then Exit Do Loop Until Timer - t > pause End If s = Split(GetResponse, txt) If UBound(s) > 0 Then ps = Split(s( 1 ), "" "" ) VLOOKUPWEB = ps( 2 ) Else : VLOOKUPWEB = "not available" : End If End Function
Si disfrutó de nuestra simplificación para su trabajo o si tiene alguna pregunta, suscríbase a la página web de nuestra empresa en NLSQL LinkedIn o NLSQL YouTube para estar bien informado sobre los próximos lanzamientos. VLOOKUPWEB es nuestra herramienta interna, que lanzamos a código abierto absolutamente gratis.
Lo usamos todos los días para probar las API de Text to SQL para nuestros clientes.
Creamos muchas herramientas de software útiles y poderosas a lo largo del desarrollo de nuestro producto comercial NLSQL , que brinda a los empleados de primera línea una interfaz de texto intuitiva para datos corporativos de difícil acceso para informar y acelerar las decisiones comerciales con beneficios significativos para las empresas.
Disfruta y no olvides compartir este artículo con tus compañeros para hacer su vida laboral más fácil y productiva.