As a previous software application advancement engineer for Microsoft Office 2011 for the Mac, I can tell you that it was primarily ported from the Windows variation in Visual C++ to C++ in Apple’s XCode development environment. (There were some Objective-C pieces that managed MacOS X-specific UI aspects.) In 2011, however, the bulk of Microsoft office (i.e. Excel, PowerPoint, and Word) was written in C++ and a few of the code dated back to nearly twenty years prior to my existing. I’ve heard that some of it was reworded since I was there, but I cannot imagine that much of it was.
Microsoft Office does not “compose” any shows languages. Microsoft Office applications are end-user oriented and “compose” Office documents (Excel workbooks, PowerPoint presentations, Access databases, Word files, etc). The existing file format is Office Open XML, which is a ZIP bundle including XML files that, as an entire, specify the document.
As Maurice says, they have a shows language in common, called VBA, which is used to customize each application and extend’s abilities.
In addition, each exposes a shows interface of the type COM-OLE through which they can be automated by other languages that support utilizing COM-OLE, consisting of VBA running in other applications. Examples of such languages: C++, C#, VB.NET, timeless VB, Delphi, vb scripting …
the Office applications, themselves, are mainly written in a C-language (which depends upon how old they are).
Checking out a stand out file through POI is rather uncomplicated, although if it; s a large stand out file you should utilize the eventmodel api. I believe the only things that don’t work are macros, a few stand out functions and sharepoint integeration.
C#, probably has the capability to call Excel natively, will probably have better assistance for all the features Once again, wear; t take my word for it. It’s been 10 years considering that I write something to open an Excel file in C++, and at that time you got a COM object from the system and utilized it to retreive the data. The Excel program installed on the system served as the COM server, when you requested the COM interface, WIndows would begin Excel behind the scenes to check out the excel file. This implied that you had full assistance of Excel set up on the system you were making the call. Also, it implied that you had to have the right version of Excel installed. I don’t know if they changed things now. I am pretty positive they will have Sharepoint integration in C#. Definetly look at whether C# has much better functions.
IMO, I would change from Java to C# just if
1. POI doesn’ t support the features that you need. This is incredibly not likely. It’s unlikely that you will be tied to sharepoint if you are currently a Java store. And you probably will have the ability to convert all Excel macros to Java code
2. you wanted to find out C#, and present the innovation to the business. A module that requires great combination with Microsoft Office appears like a great place to check the waters with Microsoft development stacks.
I have actually utilized C# to develop Excel does formerly. It enables you to read write excel files and produce charts etc.