Не используйте Java для этого. См. Этот вопрос: Событие Excel OnChange , с акцентом на этот ответ . Вы должны получить доступ к вашей базе данных, используя com прямо из Excel. Это легко, используя ADO . Этот учебник ADO от w3schools выглядит также отлично.
Если задача слишком сложна для выполнения непосредственно из Excel, вы можете подумать о том, чтобы поместить где-нибудь маленький маркер (например, в базе данных), чтобы данные изменились, и обработать этот маркер из другого приложения, возможно, приложения Java. Сложность заключается в том, что учетные данные для доступа к базе данных должны быть жестко закодированы в листе Excel. Но вы можете создать отдельного пользователя базы данных с узкими правами доступа к базе данных.
Просматривая ваш комментарий, я также попытался использовать событие Изменить в Excel, чтобы обнаружить изменения, сделанные другими пользователями. Мой опыт работы с Excel 2003 показывает, что это работает только локально. То есть событие вызывается только для пользователя, который внес изменение. Если у многих пользователей открыт рабочий лист, они не получают событие Изменить , вызванное изменениями других пользователей. Так что твой подход неосуществим. Вы можете проверить это в Excel 2010, но у меня сложилось впечатление, что события в целом работают только локально. Не могу найти ничего в сети об этом. Только эта общая статья: Отслеживание изменений в общей рабочей книге .