JuliaInXL is a package that’s designed to enhance Microsoft Excel® spreadsheets with Julia. It empowers users to access the Julia language and its rich package ecosystem from…
JuliaInXL – Bringing the Power of Julia to your Spreadsheets
Introduction
JuliaInXL is a package that’s designed to enhance Microsoft Excel® spreadsheets with Julia. It empowers users with the capability of accessing Julia language and it’s rich package ecosystem from within the world’s most popular spreadsheet.
It is easily one of the most useful packages bundled with the Enterprise version of JuliaPro (v0.6.0.1, now supporting Julia 0.6).
The package lets users call Julia functions from Excel, and enables loading files and functions into new or existing Julia processes from the Excel ribbon. It also allows switching a single Excel session between multiple separate Julia environments, and lets users effortlessly develop and deploy Julia functionality to Excel by using Juno and JuliaInXL together.
Demonstration
JuliaInXL is installed by running the “JuliaPro_JuliaInXL” executable that is available on downloading JuliaPro (Enterprise).
Once the installation is complete, a Julia process should launch automatically on starting an Excel session in most cases. In case a Julia process doesn’t launch automatically, the user can launch it using the “Launch Local Julia” button embedded in the Office ribbon. The Office Ribbon also contains a number of buttons and text boxes for controlling the connection between Julia and Excel, as well as loading functionality into the current Julia process.
The ”Launch Local Julia” button launches a new child Julia process, establishing a fresh TCP connection between Excel and Julia, killing any previously active Julia processes.
Adjacent to the “Launch Local Julia” button is a “Julia File Path” button (under the “Julia” tab) that lets users enter the path to a .jl file that can be loaded into the current Julia process. It is the equivalent of running the include command to load a particular file in a Julia terminal
In our current example, we have preloaded a file called “sim.jl”, that defines a Julia function called simulate.
To call this function from Excel, we use the jlcall worksheet function.
The first input argument to the jlcall function is a string. The string in question should be the name of the registered Julia function the user intends to call. Subsequent arguments to the jlcall function are passed as parameters to the Julia function being called. These can be constant literals, or cell references. Arrays can be passed via cell ranges.
In this example, a sample worksheet function call would look like this : =jlcall("simulate",100) (internally calling the simulate function with 100 as it’s input parameter, simulate(100))
By copying the contents of the cell in which jlcall was executed into multiple cells, the original jlcall operation can be repeated within multiple cells.
That brings us to the end of this brief JuliaInXL demonstration. Read the documentation to know more about this simple, comprehensive and extremely handy tool, or watch this video tutorial by Julia Computing’s Andy Greenwell below.
JuliaInXL: Enhancing spreadsheets with Julia
About Julia and Julia Computing
Julia is the fastest high performance open source computing language for data, analytics, algorithmic trading, machine learning, artificial intelligence, and many other domains. Julia solves the two language problem by combining the ease of use of Python and R with the speed of C++. Julia provides parallel computing capabilities out of the box and unlimited scalability with minimal effort. For example, Julia has run at petascale on 650,000 cores with 1.3 million threads to analyze over 56 terabytes of data using Cori, the world’s sixth-largest supercomputer. With more than 1.2 million downloads and +161% annual growth, Julia is one of the top programming languages developed on GitHub. Julia adoption is growing rapidly in finance, insurance, machine learning, energy, robotics, genomics, aerospace, medicine and many other fields.
Julia Computing was founded in 2015 by all the creators of Julia to develop products and provide professional services to businesses and researchers using Julia. Julia Computing offers the following products:
- JuliaPro for data science professionals and researchers to install and run Julia with more than one hundred carefully curated popular Julia packages on a laptop or desktop computer.
- JuliaRun for deploying Julia at scale on dozens, hundreds or thousands of nodes in the public or private cloud, including AWS and Microsoft Azure.
- JuliaFin for financial modeling, algorithmic trading and risk analysis including Bloomberg and Excel integration, Miletus for designing and executing trading strategies and advanced time-series analytics.
- JuliaDB for in-database in-memory analytics and advanced time-series analysis.
- JuliaBox for students or new Julia users to experience Julia in a Jupyter notebook right from a Web browser with no download or installation required.
Julia users, partners and employers hiring Julia programmers in 2017 include Amazon, Apple, BlackRock, Capital One, Citibank, Comcast, Disney, Facebook, Ford, Google, IBM, Intel, KPMG, Microsoft, NASA, Oracle, PwC, Uber, and many more.
Grace Hopper Celebration participants raise the roof for STEM diversity
This year I attended the Grace Hopper Celebration (GHC) of Women in Computing for the first time, thanks to the support of Julia Computing and Lawrence Livermore National Lab.
GHC is the world’s largest meeting of women technologists and this year it drew 18,000 people to Orlando, Florida. Notable speakers this year included Melinda Gates and Debbie Sterling. Often over 20 talks or panels are held concurrently, offering both technical content and professional advice, and an ongoing career fair allows participants to interview everywhere from Google and Facebook to the national labs to Bank of America.

There ain’t no party like a Grace Hopper Conference dance party!
Beyond the vast array of available activities, the environment created at GHC was incredibly supportive. I found it easy to reach out to other attendees, enjoying friendly and warm conversation with each person I met.
With the Julia community’s strong interest in cultivating an inclusive environment and greater diversity amongst its users and developers, GHC2017 was an ideal venue to gauge interest in Julia amongst undergraduate women and to identify potential partners for future diversity efforts. Among the many bright and talented undergraduate women I met at GHC, I frequently encountered leaders of organizations dedicated to increasing diversity in computing at their home institutions, such as Women in Computing (WIC), the Association for Women in Computing (AWC), and the Association for Computing Machinery’s Council on Women in Computing (ACM-W). Many of the women with whom I spoke were enthusiastic about the opportunity to help bring Julia to their communities by hosting tutorials and workshops this coming spring. We’re now in the beginning stages of setting up our first diversity-oriented events and excited to have made these new connections!
Jane Herriman is a PhD candidate in applied physics and materials science at Caltech, a researcher at Lawrence Livermore National Laboratory and Director of Diversity and Outreach at Julia Computing.



