
Show HN: C# support in Excel - anakic
https://querystorm.com/documentation.html
======
anakic
A while ago, as a hobby and later a business, I made an Excel plugin for using
SQL in Excel: [https://www.querystorm.com](https://www.querystorm.com)

I've now added the capability to use C# in Excel, using Roslyn. Sort of like
Linqpad in Excel. This lets it work with Excel tables, fiddle with formatting,
and automate stuff.

Some of the practical applications:

    
    
       - processing data in Excel (LINQ)
    
       - getting data from various sources into Excel (REST, databases, files, active directory, whatever)
    
       - building interactive dashboards
    
       - building prototypes applications (you write logic in C# and use Excel as the UI and data storage)
    

Here's the introduction:
[https://querystorm.com/documentation.html](https://querystorm.com/documentation.html)

There's also a short video:
[https://vimeo.com/242216594](https://vimeo.com/242216594) for a brief intro.

I charge for the plugin but it's freemium. If you don't want intellisense,
error squigglies and so on, you don't need a license.

So... what do you think?

~~~
runin2k1
It is insane to me that Microsoft hasn't already provided this. I get that you
can't replace VBA entirely, or phase it out, without breaking a Lot of Things,
and putting a lot of VBA programmers out of work. But every aspect of this
being native to Excel would make macro work and data programming easier for a
huge segment of the business world.

In other words, I like what you're doing and will probably buy a license.
But... I don't see a license option that looks like it lets me test it out in
a commercial environment without paying first. I might just be missing
something there though. I'd love to test it out and be in compliance with your
licensing.

~~~
anakic
Thanks for the comment! Yeah, VBA in Excel is pretty outdated in many ways,
and Excel isn't going anywhere any time soon. I missed having SQL in Excel
originally so that's why I started the plugin. I added C# just now, but I
really like how C# and Linq fit into Excel, I just love playing around with
it.

About licensing: you can get a free trial license by clicking "Try Querystorm"
on the QueryStorm website. The trial lasts 14 days, but if you need a longer
trial just send me an email (antonio at querystorm.com) and I'll send you an
extended trial license.

If you have any suggestions or questions while you're checking it out, let me
know.

------
wmil
I have two thoughts.

1\. This is a huge improvement over VBA.

2\. This is going to make creating unmaintainable mission critical Excel macro
based monstrosities even easier.

So a small software improvement may be releasing new terrors into the IT
world.

~~~
blowski
Some of those monstrous spreadsheets are extremely valuable, but wouldn’t
exist if it weren’t for Excel.

Reminds me of gunpowder - very powerful, very dangerous and very useful.

~~~
anakic
Yeah, Excel is crazy flexible so it's no wonder that where ever there isn't a
designated application for something, people fall back to Excel. I think it's
a good platform to introduce dev tools in, all those small ad-hoc use cases
can be served much better with some serious dev tools at hand.

------
megaman22
It's been a long, long time since I've tried to do anything with VBA. How far
out of date is the implementation of it that is built into Excel? Like .NET
1.1?

~~~
rpeden
Unless something has changed recently, VBA in Excel and other Office
applications isn't .NET at all. It's basically just VB6.

When you go to edit VBA inside Excel, you get a VB6 IDE. I just tried it in
Excel 2016, and it looks the same as it always has.

Their _are_ ways to develop Office add-ins using .NET, but they aren't built
in the way VBA and its IDE are.

~~~
cakes
Yeah the VBA in Excel isn't .NET at all. Which makes it even harder to take
something that was VBA in excel and trying to utilize it somewhere else (e.g.
a .NET add-in to Excel or using any of the Excel interops via something like
C#/VB.NET)

~~~
rpeden
I imagine you'd be in for some fun times with COM if you want to call that VBA
code from a .NET language.

------
maxxxxx
Pretty cool. On the other hand the most miserable time in my career was
developing a plugin for Excel. It just went from one disaster to the next.

~~~
anakic
Yeah, VSTO is a tricky animal. I've had quite a few mysterious issues over the
last few years while building this plugin. In my case though, since I'm
hosting a WPF user interface in a COM application in a WinForms host, talking
to native libraries it wasn't entirely unexpected:)

~~~
cjsuk
We're doing the same. I feel like punching myself in the face some days.

