Spreadsheet applications provide many well known benefits including data organization, computation, analysis and presentation. Spreadsheet applications allow users to work in offline data editing sessions, as well as online data editing sessions where spreadsheet applications may be linked to databases from which data may be imported for editing and manipulation. During online editing sessions, spreadsheet applications may also export data out to databases for storage of the exported data. However, prior systems do not allow for bi-directional communication between a spreadsheet application worksheet and a database. That is, according to prior systems, data may be brought into a spreadsheet application worksheet and read, and the data may be refreshed, but at no time may changes in the data be written back to the data source for modifying or updating the source data in the database. At most, the modified data may be written to a new table or other memory location in the database.
Accordingly, there is a need for a method and system for allowing bi-directional communication between a spreadsheet application and a database that allows modified data to be written from a spreadsheet application worksheet to source data in a database from which the original pre-modified data was obtained. There is further a need for a method and system for supporting offline data changes in a spreadsheet application that may be published to a remote data source when a connection is re-established between the data source and the spreadsheet application. There is further a need for a method and system for resolving conflicts associated with writing data from a spreadsheet application worksheet to a database data source. It is with respect to these and other considerations that the present invention has been made.