Methods and systems provide for bi-directional communication between a
spreadsheet application worksheet and a database data source that allows
modified data to be written from a spreadsheet application to source data
in a database data source from which the original pre-modified data was
obtained. Offline data changes in a spreadsheet application are cached by
a data provider application and are published to a remote data source
when the spreadsheet application is synchronized with the data source.
Error conditions and data conflicts resulting from new or modified data
published to a database data source from a spreadsheet application
worksheet are reported to a user of the spreadsheet application worksheet
through a data provider application to allow the user an opportunity to
resolve error conditions and data conflicts between the user's data
changes and other data changes made to the same source data contained in
the database data source.