通过Jacob在Java应用程序和Microsoft应用程序之间进行同步

在我的java应用程序中,我使用Jacob库连接到Microsoft Excel。一切都很好,但我不知道如何通过使用Jacob库在Excel页面发生任何更改时捕获com事件。例如,在我的项目中,我连接数据库获取表值并将这些值复制到Excel页面的单元格中。每当更改单元格值时,表值也会更改。我希望雅各布在java和Microsoft Excel应用程序之间进行同步。     
已邀请:
不要使用Java来实现这一点。看到这个问题:Excel OnChange事件,重点是这个答案。您应该直接从Excel使用com访问您的数据库。使用ADO很容易。来自w3schools的这个ADO教程看起来也很好。 如果任务太复杂而无法直接从Excel执行,您可能会考虑在数据更改的某处(例如在数据库中)放置一个小标记,并从其他应用程序(可能是Java应用程序)处理此标记。困难在于访问数据库的凭据必须在Excel工作表中进行硬编码。但您可以创建具有窄数据库权限的单独数据库用户。 看到您的评论我还尝试使用Excel的更改事件来检测其他用户所做的更改。我在Excel 2003上的经验表明,这只适用于本地。也就是说,仅对进行更改的用户触发事件。如果许多用户打开工作表,则不会收到其他用户更改导致的更改事件。所以你的方法是不可行的。您可以使用Excel 2010进行测试,但我的印象是,事件通常只在本地工作。在网上找不到任何关于它的东西。只有这篇文章:跟踪共享工作簿中的更改。     

要回复问题请先登录注册