I am currently in design phase of an application which at present running in Excel. Its a scientific application which contains complex mathematical (trigo. algebra etc.) formulas. Initially I tried to do everything in code and soon found out that its going to be very tedious (with high probability of bugs) to translate these scientific formulas into .NET.
Another option is to use the Excel spreadsheet and its cell formula's kind of "template" in which a user interface in .NET allows user to enters data , the .NET (web app) passes this input data to excel spreadsheet , the excel spreadsheet do the work and gives the results and the .NET app reads this and shows to the user. (This is a simplified explanation of the proposed design).
Its going to be Web Application (Not public facing site).
One of the problem (that I though of) would be when multiple user using the application, the excel file will have issue with multiple thread read/write. To Overcome this I have though about storing copy of the file in SQL Database, Copy it to temp folder with a Guid name (to make it unique) per session and once its done delete the file etc.
My question is, does anyone sees any flaws or drawback in this plan , for example performance, read/write excel etc or anything else that I need to consider? I am planning to Use OpenXML and ClosedXML library. Do I need to install Office on the deployment server for this to work? (I would have thought not).
Thanks,