2013-08-19 5 views
0

У меня есть стороннее приложение, которое обновляет значения ячеек, открывая файл excel, устанавливая значения в ячейках и записывая (сохраняя) файл excel. Предположим, что у меня всегда есть таблица Excel, как у меня есть таблица, отражающая эти изменения в реальном времени?Обновления Excel в реальном времени

Каждый раз, когда происходит обновление, я должен повторно открыть файл excel, чтобы увидеть новые изменения.

PS. Я использую POI Apache.

спасибо.

+0

Что случилось с «При каждом обновлении я должен повторно открыть файл excel, чтобы увидеть новые изменения».? Если вы хотите знать, какие ячейки были изменены, вам нужно будет сделать diff самостоятельно ... – kiwiwings

+0

Я не уверен, что это возможно, из-за природы файла excel, я заметил, что он сказал «разделение воли», вы можете написать файл bat, который откроет файл excel, и этот файл bat будет исполняться программой, каждый раз, когда файл будет обновлен. –

ответ

2

Вы не можете сделать это с помощью Apache POI. Если в Excel открывается электронная таблица Excel, вы получите FileNotFoundException, если вы попытаетесь записать свои изменения в этот файл. По крайней мере, на Windows, вы получите что-то вроде этого:

java.io.FileNotFoundException: MySpreadsheet.xlsx (The process cannot access the 
file because it is being used by another process) 

Кроме того, даже если это работало, нет ничего в API Apache POI, который взаимодействует с самим приложением Excel, так что вы не можете сказать Excel повторно откройте таблицу.

+0

Зачем Excel снова открывать электронную таблицу? Это написано сторонним приложением и прочитано POI. Простой опрос по временной отметке изменения файла и некоторая обработка ошибок в случае, если файл просто написан, должен быть достаточным ... Я не вижу здесь реальной проблемы ... – kiwiwings

Смежные вопросы