1. Keep in the backend "Your Excel Sheet based service". This can be implemented in you web server as a singleton (for perfomance) object that uses Interop for interacting with you Excel sheet.
2. Your web app, queries "Your Excel Sheet based service" to get the grid data to send to the browser
5. Any change is sent as a browser request to your web app (via Ajax or page reload)
6. Your web app, updates "Your Excel Sheet based service", so Excel applies the macros and calculations, and the new values are sent to the web browser on the request response (Ajax or page content)
Conceptually you get everything, and the best of both worlds. The good part is that you do not need to reimplement all your Excel logic (macros, formulas,...), the bad part is that you need to reimplement all the interface to reach this logic (grid cells paradigm, REPL cycle, ...)
Although it can be done, in practice this is far from an ideal solution as:
- An strategy is needed to avoid multiple users locking your Excel resource
- Using interop in the server might lead to memory leaks and stability issues. Also it can easily become a CPU resource hog.
- User interface and usability is greatly dependant on the chosen grid, and might depart greatly from Excel look and feel
Although the cons can easily overweigth the pros, depending on your requirements (number of users, complexity of Excel logic..), budget, resources and available time can be a way to go.
That should probably be done on the database (server?), using an SQL-statment. There it would be relative easy to manipulate your where-clause.
You're now comparing in-memory datasets. You could still iterate it for each record in table1 and see if it is contained in table2 (look up over the primary key). Also the other way around, see if anything from table2 is contained in table1. Write those to table three.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
I have developed a windows application that is used on a bunch of PC's on our network. I distribute it with click-once deployment.
On a couple of PC's certain GUI elements do not display / work as expected. For example, one of the forms contains a DataGridView, that has been set to not allow adding new rows. On one of the PC's mentioned however, the new row is visible, it does allow adding new rows. On another PC a form's title and a label on a StatusBar do not display at all.
Has anyone else ever come across this phenomenon ? Where should I look to fix this ?
Any help appreciated.
My advice is free, and you may get what you paid for.
Last Visit: 31-Dec-99 18:00 Last Update: 2-Jul-15 8:42