Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java应用程序与Microsoft应用程序之间通过Jacob的同步_Java_Excel_Jacob - Fatal编程技术网

Java应用程序与Microsoft应用程序之间通过Jacob的同步

Java应用程序与Microsoft应用程序之间通过Jacob的同步,java,excel,jacob,Java,Excel,Jacob,在我的java应用程序中,我使用Jacob库连接到Microsoft Excel。一切都很好,但我不知道如何使用Jacob库在Excel页面发生任何更改时捕获com事件。例如,在我的项目中,我连接数据库获取表值,并将这些值复制到excel页面的单元格中。每当单元格值更改时,表值也会更改。这就是我想要Jacob在java和MicrosoftExcel应用程序之间进行同步 不要使用Java来实现这一点。请参见以下问题:,重点是。您应该直接从Excel使用com访问数据库。那很好用。这个看起来也不错

在我的java应用程序中,我使用Jacob库连接到Microsoft Excel。一切都很好,但我不知道如何使用Jacob库在Excel页面发生任何更改时捕获com事件。例如,在我的项目中,我连接数据库获取表值,并将这些值复制到excel页面的单元格中。每当单元格值更改时,表值也会更改。这就是我想要Jacob在java和MicrosoftExcel应用程序之间进行同步

不要使用Java来实现这一点。请参见以下问题:,重点是。您应该直接从Excel使用com访问数据库。那很好用。这个看起来也不错

如果任务过于复杂,无法直接从Excel执行,您可能会考虑将一个小标记放在数据更改的某个位置(例如数据库中),并从其他应用程序(可能是java应用程序)处理该标记。困难在于访问数据库的凭据必须在Excel表中硬编码。但您可以创建一个单独的数据库用户,其数据库权限很窄


看到您的评论,我还尝试使用Excel的Change event来检测其他用户所做的更改。我在Excel2003上的经验表明,这只在本地有效。也就是说,事件仅针对进行更改的用户触发。如果许多用户打开了工作表,他们不会收到由其他用户的更改引起的更改事件。所以你的方法是不可行的。您可以使用Excel2010对其进行测试,但我的印象是,一般情况下,事件只在本地工作。在网上找不到关于它的任何信息。只有这篇文章:。

不要使用Java来实现这一点。请参见以下问题:,重点是。您应该直接从Excel使用com访问数据库。那很好用。这个看起来也不错

如果任务过于复杂,无法直接从Excel执行,您可能会考虑将一个小标记放在数据更改的某个位置(例如数据库中),并从其他应用程序(可能是java应用程序)处理该标记。困难在于访问数据库的凭据必须在Excel表中硬编码。但您可以创建一个单独的数据库用户,其数据库权限很窄


看到您的评论,我还尝试使用Excel的Change event来检测其他用户所做的更改。我在Excel2003上的经验表明,这只在本地有效。也就是说,事件仅针对进行更改的用户触发。如果许多用户打开了工作表,他们不会收到由其他用户的更改引起的更改事件。所以你的方法是不可行的。您可以使用Excel2010对其进行测试,但我的印象是,一般情况下,事件只在本地工作。在网上找不到关于它的任何信息。只有这篇普通文章:。

您能更清楚地说明数据库和excel之间的关系吗?这两个操作涉及的excel文件是否相同?请编辑这个问题,因为它很难理解;用户更改了excel文件中的列值,发生这种情况时,我希望将更新后的值保存到数据库中。因此,当文件中发生任何更改时,必须触发一个事件,并且此事件必须保存更改的值:)您能更清楚地说明数据库和excel之间的关系吗?这两个操作涉及的excel文件是否相同?请编辑这个问题,因为它很难理解;用户更改了excel文件中的列值,发生这种情况时,我希望将更新后的值保存到数据库中。因此,当文件中发生任何更改时,必须触发一个事件,并且此事件必须保存更改的值:)我必须使用Java,因为我们的网站是j2ee。使用其他技术在Java和excel之间进行通信效率不高。我想知道是否有图书馆提供这种交流。考虑到你的评论,我扩展了答案。谢谢:)我现在有个想法:)不客气,穆卡尤法。但是,请考虑<代码>工作簿。前面是而不是<代码>工作表。关闭< /Cord>事件。不要在每个单元格更改时引入延迟。我想同步应该在保存更改后进行。我必须使用Java,因为我们的网站是j2ee。使用其他技术在Java和excel之间进行通信效率不高。我想知道是否有图书馆提供这种交流。考虑到你的评论,我扩展了答案。谢谢:)我现在有个想法:)不客气,穆卡尤法。但是,请考虑<代码>工作簿。前面是而不是<代码>工作表。关闭< /Cord>事件。不要在每个单元格更改时引入延迟。我想同步应该在保存更改后进行。