Skip to content

Instantly share code, notes, and snippets.

@pancho508
Created August 28, 2019 22:53
Show Gist options
  • Select an option

  • Save pancho508/2c401fdaaf82849395dab6b89b47e8ff to your computer and use it in GitHub Desktop.

Select an option

Save pancho508/2c401fdaaf82849395dab6b89b47e8ff to your computer and use it in GitHub Desktop.
Performs a basic Excel API call using plain JavaScript & Promises.
name: Excel add-in rassini thursday
description: Performs a basic Excel API call using plain JavaScript & Promises.
host: EXCEL
api_set: {}
script:
content: "// var theURL =\r\n// \"https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=SAB&interval=5min&apikey=S3MG19EN92WBMKNQ\";\r\n// var lastTradePriceOnly = 0;\r\n// var alta = 0;\r\n// var baja = 0;\r\n\r\n// $(document).ready(function() {\r\n// $(\"#stockIndicator\").show();\r\n// doAjax(theURL);\r\n// $(\".ajaxtrigger\").click(function() {\r\n// $(\"#stockIndicator\").show();\r\n// doAjax(theURL);\r\n// return false;\r\n// });\r\n// function numberWithCommas(x) {\r\n// return x.toString().replace(/\\B(?=(?:\\d{3})+(?!\\d))/g, \",\");\r\n// }\r\n// function doAjax(url) {\r\n// $.ajax({\r\n// url: url,\r\n// dataType: \"json\",\r\n// contentType: \"application/json\",\r\n// success: function(data) {\r\n// var symbol = data[\"Meta Data\"][\"2. Symbol\"];\r\n// var lastRefreshed = data[\"Meta Data\"][\"3. Last Refreshed\"];\r\n// lastTradePriceOnly = data[\"Time Series (5min)\"][lastRefreshed][\"4. close\"];\r\n// var lastVolume = data[\"Time Series (5min)\"][lastRefreshed][\"5. volume\"];\r\n// alta = data[\"Time Series (5min)\"][lastRefreshed][\"2. high\"];\r\n// baja = data[\"Time Series (5min)\"][lastRefreshed][\"3. low\"];\r\n\r\n// $(\"#stockSymbol\").html(symbol);\r\n// $(\"#stockAsk\").html(lastTradePriceOnly);\r\n// $(\"#stockVolume\").html(numberWithCommas(lastVolume));\r\n// $(\"#alta\").html(alta);\r\n// $(\"#baja\").html(baja);\r\n// $(\"#stockIndicator\").hide();\r\n// }\r\n// });\r\n// }\r\n// });\r\n\r\n// $(\"#submitStockData\").click(() => tryCatch(getStockData));\r\n// function getStockData() {\r\n// var stockId = $(\"#stockId\").val();\r\n// var theURL =\r\n// \"https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=\" +\r\n// stockId +\r\n// \"&interval=5min&apikey=S3MG19EN92WBMKNQ\";\r\n// $(\"#stockIndicator\").show();\r\n\r\n// function doAjax(url) {\r\n// $.ajax({\r\n// url: url,\r\n// dataType: \"json\",\r\n// contentType: \"application/json\",\r\n// success: function(data) {\r\n// var symbol = data[\"Meta Data\"][\"2. Symbol\"];\r\n// var lastRefreshed = data[\"Meta Data\"][\"3. Last Refreshed\"];\r\n// lastTradePriceOnly = data[\"Time Series (5min)\"][lastRefreshed][\"4. close\"];\r\n// var lastVolume = data[\"Time Series (5min)\"][lastRefreshed][\"5. volume\"];\r\n// alta = data[\"Time Series (5min)\"][lastRefreshed][\"2. high\"];\r\n// baja = data[\"Time Series (5min)\"][lastRefreshed][\"3. low\"];\r\n// console.log(\"ajaxFrom.getStockData\");\r\n// $(\"#stockSymbol\").html(symbol);\r\n// $(\"#stockAsk\").html(lastTradePriceOnly.toString());\r\n\r\n// $(\"#alta\").html(alta.toString());\r\n// $(\"#baja\").html(baja.toString());\r\n// $(\"#stockIndicator\").hide();\r\n// }\r\n// });\r\n// }\r\n// doAjax(theURL);\r\n// }\r\n\r\n// $(\"#run\").click(() => tryCatch(run));\r\n// function run() {\r\n// return Excel.run(function(context) {\r\n// var range = context.workbook.getSelectedRange();\r\n\r\n// var values = [[]];\r\n// values[0][0] = lastTradePriceOnly;\r\n// range.values = values;\r\n// range.load(\"address\");\r\n// return context.sync().then(function() {});\r\n// });\r\n// }\r\n\r\n// (function() {\r\n// var js = document.createElement(\"script\");\r\n// js.type = \"text/javascript\";\r\n// js.async = true;\r\n// js.src = \"//www.floatrates.com/scripts/converter.js\";\r\n// var sjs = document.getElementsByTagName(\"script\")[0];\r\n// sjs.parentNode.insertBefore(js, sjs);\r\n// })();\r\n// $(\"#clickMe\").click(() => tryCatch(post));\r\n\r\n// function post() {\r\n// var inputValue = (<HTMLInputElement>document.getElementById(\"pesos\")).value;\r\n// return Excel.run(function(context) {\r\n// var range = context.workbook.getSelectedRange();\r\n// var values = [[]];\r\n// values[0][0] = inputValue;\r\n// range.values = values;\r\n// range.load(\"address\");\r\n// return context.sync().then(function() {});\r\n// });\r\n// }\r\n\r\n// function tryCatch(callback) {\r\n// Promise.resolve()\r\n// .then(callback)\r\n// .catch(function(error) {\r\n// console.error(error);\r\n// });\r\n// }\r\n"
language: typescript
template:
content: "<div>\n\t<script src=\"https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js\"></script>\n\n\t<img src=\"http://mysdelbajio.com.mx/images/rassini.png\" alt=\"Smiley face\" height=\"42\" width=\"150\">\n\t<label for=\"subtitle\">Stock check</label>\n\n\t<form>\n\t\t<div class=\"form-group\">\n\t\t\t<input type=\"text\" class=\"form-control\" id=\"stockId\" placeholder=\"Ingresa el símbolo del stock \">\n </div>\n\t\t\t<button id=\"submitStockData\" type=\"submit\" class=\"ajaxtrigger\">Consultar</button>\n\t\t\t<button id=\"run\" type=\"submit\" >Inserta</button>\n\t</form>\n\n\t<div id=\"stock_miniQuote_head\" class=\"ajaxtrigger\">\n\t\t<span id=\"stockSymbol\"></span>&nbsp;(stock común)\n\t</div>\n\n\t<div id=\"stock_miniQuote\">\n\t\t<div id=\"stockIndicator\">\n\t\t\t<p>Wepa Wepa información de stock ...</p>\n\t\t</div>\n\t\t<div class=\"stock_divider\">\n\t\t\t<div id=\"stock_left\">\n\t\t\t\t<span class=\"stock_label\">Precio</span><br/>\n\t\t\t\t<strong class=\"stock_strong\">$<span id=\"stockAsk\"></span></strong><br/>\n </div>\n\t\t\t\t<div id=\"stock_right\">\n\t\t\t\t\t<span class=\"stock_label\">Alta / Baja</span><br/>\n\t\t\t\t\t<strong class=\"stock_strong\" style=\"color:green;\"><span id=\"alta\"></span></strong><br />\n\t\t\t\t\t<strong class=\"stock_strong\" style=\"color:red;\"><span id=\"baja\"></span></strong><br />\n\t\t</div>\n\t\t\t\t\t<div style=\"clear: both;\"></div>\n\t\t\t\t</div>\n\t\t\t\t<div id=\"stock_body\">\n\t\t\t\t\t<div id=\"stock_body_content\">\n\t\t\t\t\t\t<span class=\"stock_label\">Volumen</span><br/>\n\t\t\t\t\t\t<strong class=\"stock_strong\"><span id=\"stockVolume\"></span></strong>\n\t\t\t\t\t\t<br /><br />\n\t\t\t\t\t</div>\n\t\t\t\t\t\t<div style=\"clear: both;\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<!-- Marcos -->\n\t\t\t\t\t<br>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<form class=\"frConverter\">\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<span>Yo Tengo</span><br/>\n\t\t\t\t\t\t\t\t<select name=\"base_currency\" onChange=\"frExCalc();\"></select>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"default_base\" value=\"usd\"/>\n\t\t\t\t\t\t\t\t<input type=\"text\" name=\"base_value\" value=\"1\"/>\n\t\t</div>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<span>Yo Quiero</span><br/>\n\t\t\t\t\t\t\t\t\t<select name=\"target_currency\" onChange=\"frExCalc();\"></select>\n\t\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"default_target\" value=\"mxn\"/>\n\t\t\t\t\t\t\t\t\t<input type=\"text\" name=\"target_value\" id=\"pesos\" value=\"\"/><br/>\n\t\t</div>\n\t\t\t\t\t\t</form>\n\t\t\t\t\t\t<input id=\"clickMe\" type=\"button\" value=\"Poner en Celda\" />\n</div>\n\t\t\t\t\t\t<!-- Marcos -->\n\t\t\t\t\t</div>"
language: html
style:
content: |-
/* #stockIndicator {
text-align: left;
padding: 10px;
margin: 5px;
color: red;
}
.ajaxtrigger:hover {
cursor: pointer;
cursor: hand;
}
#stock_miniQuote_head {
background-color: #464A55;
color: orange;
font-size: 14px;
font-weight: bold;
padding-bottom: 10px;
padding-left: 10px;
padding-right: 10px;
padding-top: 10px;
}
#stock_miniQuote {
border-bottom-color: #DDDDDD;
border-bottom-left-radius: 5px 5px;
border-bottom-right-radius: 5px 5px;
border-bottom-style: solid;
border-bottom-width: 1px;
border-left-color: #DDDDDD;
border-left-style: solid;
border-left-width: 1px;
border-right-color: #DDDDDD;
border-right-style: solid;
border-right-width: 1px;
border-top-color: initial;
border-top-style: none;
border-top-width: initial;
list-style-type: none;
margin-bottom: 10px;
padding-bottom: 0;
padding-top: 10px;
vertical-align: text-top;
height: 100%;
width: 99%;
}
.stock_divider {
border-bottom: 1px solid #B2B0AD;
padding-bottom: 5px;
}
#stock_left {
float: left;
width: 35%;
height: 50px;
border-right: 1px solid #B2B0AD;
padding: 0 15px;
}
#stock_right {
float: right;
padding: 0 20px;
vertical-align: text-top;
}
.stock_label {
font-size: 14px;
}
.stock_strong {
font-size: 17px;
}
#stock_body {
padding: 10px 0 15px;
}
#stock_body_content {
float: left;
width: 170px;
padding: 0 15px;
}
.oj{
color: orange
} */
language: css
libraries: |-
https://appsforoffice.microsoft.com/lib/1/hosted/office.js
@types/office-js
office-ui-fabric-js@1.4.0/dist/css/fabric.min.css
office-ui-fabric-js@1.4.0/dist/css/fabric.components.min.css
core-js@2.4.1/client/core.min.js
@types/core-js
jquery@3.1.1
@types/jquery@3.3.1
https://unpkg.com/bootstrap@4.1.0/dist/css/bootstrap.min.css
@ShellyShulei
Copy link

Hi,
Why volumes are always the same?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment