Gridarrow is the missing server for Excel. We host and run Python scripts that connect to your data and send it to Excel in real-time. Create live dashboards and reports with the tool that everyone knows.
Just drag and drop a grid from the console to get the data flowing. Multiple users can connect to the same script, so everyone sees the same data.
Take the complexity out of your spreadsheets by moving data retrieval and preprocessing to the cloud - No VBA required!
Simple Python scripts allow you to integrate Excel with just about any data source.
Scripts instantly send updates to all clients to make sure everybody is looking at the same data.
We have pre-written scripts for a huge range of services ready to go. Here are just a few examples:
Update Excel with user traffic data from Google Analytics in real-time
Get Stripe payment data into Excel for in-depth analysis
Subscribe to Redis pub/sub channels and update Excel
Add Twitter tweets and followers to an Excel spreadsheet
Monitor Amazon EC2 usage with a dashboard in Excel
Integrate Salesforce with data in your spreadsheets
Integrate a Slack chatbot with data in your spreadsheets
Query MySQL and send results to Excel
Receive messages from Twilio and add them to a spreadsheet
Scrape the web with Python's Requests or Pandas libraries
Monitor Amazon Products real-time in an Excel spreadsheet
Create Excel dashboards from New Relic monitoring
And more... With the power that only a real programming language provides, you can mix and match these services, add entirely new ones, and customize things exactly as you need. It's easier than you might think, and we're always here to help!
We provide a simple API for sending data to Excel from Python - the Grid. Update the Grid with a value
grid[row, column] = value and the data immediately appears in all users spreadsheets.
The Python environment is unrestricted, and you can
pip install any dependencies you need
to get the job done.
from gridarrow import Arrow arrow = Arrow(__name__) grid = arrow.grid("ga_active_users", rows=10, columns=["Desktop", "Mobile"]) def get_ga_report(): # build analytics service not shown return analytics.get(ids=view_id, metrics='rt:pageViews', dimensions='rt:deviceCategory') # do something every 30 seconds @arrow.on_interval(seconds=30) def on_interval(): grid[0:10, ["Desktop", "Mobile"]] = get_ga_report()