[HN Gopher] Excel Functions in F# Language
       ___________________________________________________________________
        
       Excel Functions in F# Language
        
       Author : t0m44c
       Score  : 108 points
       Date   : 2023-02-13 10:10 UTC (1 days ago)
        
 (HTM) web link (www.sharpcells.com)
 (TXT) w3m dump (www.sharpcells.com)
        
       | DoctorOW wrote:
       | I've done some VBA for work. If I build an Excel file with
       | SharpCells and send them to someone who doesn't have it. What
       | happens when they open it? From what I understand, .NET is pretty
       | easy to decompile. Is it possible to make a SharpCells F# to VBA
       | translation before saving?
        
         | layer8 wrote:
         | VBA is the old win32/COM-based Visual Basic, not .NET, so that
         | might be difficult.
         | 
         | I agree that the non-portability of such Excel extensions is a
         | showstopper for many use cases.
        
       | eggy wrote:
       | Glad to see F# vs. C#. I prefer F# and it doesn't get as much
       | play as C#.
       | 
       | But, being more of a Lisper, I've already subscribed to
       | Accelerate for Microsoft 365[1]. It's basically a full scheme
       | available in Excel with VSA (Visual Scheme for Applications -
       | nice play on VBA to dupe the unaware ;) ). It has a full REPL and
       | an editor and also creates UDFs. It is Excel's new Lambda on
       | steroids.
       | 
       | I'll have to try Sharp Cells. I've played with J[2] and some
       | Excel tie-in scripts, but it is not integrated as nicely as Sharp
       | Cells or Accelerate.
       | 
       | [1] https://apexdatasolutions.com/home
       | 
       | [2] https://code.jsoftware.com/wiki/Scripts/OLEExcel
        
       | rwhaling wrote:
       | Really cool - the stuff they are doing with the Excel API to
       | inspect editing modes is super interesting:
       | https://www.sharpcells.com/docs/blog/monitoring-edit-mode
       | 
       | I work with data warehouses, but I'm really jealous of the way
       | our Finance team uses some abysmal plugin to directly query our
       | GL from inside Excel - building something like that the can make
       | the contents of a modern data warehouse available to Excel users
       | has always been a holy grail for me.
       | 
       | My hunch is that exposing free-form SQL in Excel doesn't work,
       | but something more like structured metrics (something roughly
       | like dbt metrics) could potentially work? And tooling like this
       | is probably what I'd want to prototype with.
        
         | inglor wrote:
         | You can both feed SQL data sources into Excel and expose Excel
         | as an ODBC data source (natively, usable today and used by a
         | lot of companies!)
        
         | listenallyall wrote:
         | Can't be that abysmal if you're jealous of it and is similar to
         | your idea of a holy grail. Is it Jedox perhaps?
        
         | matt3D wrote:
         | I think PowerQuery largely solves this problem
        
       | layer8 wrote:
       | How do they implement the subscription plans when no internet
       | connection is required?
        
       | velcrovan wrote:
       | Call me when Excel "programs" don't silently give corrupted
       | output when a formula or critical input is accidentally clobbered
       | by a keypress.
        
         | cjohnson318 wrote:
         | Call me when Excel doesn't randomly insist that things are
         | dates.
        
           | libraryatnight wrote:
           | I recall opening a csv of user data in excel, and one
           | particular user had a username of april0204 (can't recall the
           | actual number but you get the idea). It took me a moment
           | longer than I care to admit to realize what had happened as i
           | stared at the random date in the middle of my username column
        
             | cjohnson318 wrote:
             | A while ago I got some Excel CSV exports that I couldn't
             | read as I normally do. I tried several formats that I knew
             | were associated with Windows systems. I ended up looking at
             | the raw bytes and I noticed that every other byte was
             | something like 0x00, so I wrote a script to strip all of
             | that out. Several weeks later I figured out that I had been
             | looking at utf-16. Derp.
        
       | giaour wrote:
       | Why is this a subscription?
        
         | andix wrote:
         | Because the author wants to generate a continuous stream of
         | revenue?
        
         | jbjbjbjb wrote:
         | There are plenty of alternatives if you want something less
         | commercial. ExcelDna is a great choice.
        
       | inglor wrote:
       | I work on Excel and this is really cool and I'll share it with
       | the rest of the engineers.
        
         | inglor wrote:
         | Team says it's cool and already possible with different us
         | through
         | 
         | https://learn.microsoft.com/en-us/office/client-developer/ex...
         | 
         | https://learn.microsoft.com/en-us/office/troubleshoot/excel/...
        
       | andix wrote:
       | Interesting that it is F# only, usually .NET based products can
       | also use C# and VB.NET. Especially VB.NET could be useful when
       | porting VBA code.
        
       | lsm07 wrote:
       | I'm always happy to see F# get a mention, but using it inside
       | Excel seems funny when you could just use it against a raw CSV
       | file or whatever for data analysis/data manipulation.
        
         | Idiot_in_Vain wrote:
         | Excel is a lot more user friendly interface for data
         | analysis/manipulation, than a raw CSV file.
        
         | coldacid wrote:
         | It's not for people like us who even know what a CSV is, it's
         | for people who have some scripting/programming knowledge, but
         | mainly live in Excel all day.
        
           | nerdponx wrote:
           | Plenty of people who _do_ know what a CSV is still sometimes
           | (or frequently) use Excel, either for their own work or as a
           | sort of  "data app" that they can distribute to coworkers.
        
       | JaggerJo wrote:
       | nice!
        
       | orthoxerox wrote:
       | Ah, at first I thought that was a library that implemented Excel
       | functions in F#.
        
       | Nelkins wrote:
       | Nice use of F# scripting. The #r directive for Nuget packages was
       | a great addition.
        
       | bsdooby wrote:
       | An interesting F# blog that was found for me:
       | https://www.planetgeek.ch/
        
       ___________________________________________________________________
       (page generated 2023-02-14 23:00 UTC)