As the title of the question says, is there any way to call functions in a .net dll from octave as a way to import data?
Since Octave does not contain any Windows or .NET specific functions, I don't see any possibility without writing some kind of wrapper to your .NET dll.
Possibility 1: write a command line wrapper for your .NET dll and run this by using the system
command of Octave. May be ok if you need just a handful of calls to the DLL. You can write the data you want to import into a file and read this by using Octave.
Possibility 2: write a Web service wrapper for your .NET DLL. Call this via the urlread
function of Octave, which allows HTTP GET and post commands (see here).
Possibility 3: write a Wrapper program in C# which links with your .NET DLL and utilizes this Octave wrapper to control the Octave interpreter. May only be suitable if you can organize the flow of control so the Octave scripts do not have to call your .NET DLL directly.
Read also this other SO post, "interfacing-octave-with-c-sharp".