Вы можете работать вокруг этой проблемы с использованием динамической оценки ВЗ ссылки , через функцию INDIRECT.
Функция INDIRECT оценивает значение ячейки, где ячейка для оценки извлекается из значения другой ячейки.
Например,
- в ячейке A1, поместите ссылку на ячейку в виде простого текста (не формула), например, " 'C: \ TMP \ ForecastAggregate \ Всего товаров \ [ForecastWorksheet.xls] 2010 Бюджет' C10"
В А2, ячейка, где вы хотите, значение этого ссылочного ячейке появится, поместите формулу
= INDIRECT (A1)
Это будет извлекать целевую ячейку из A1 и отображать ее значение в A2.
В Java вы можете настроить шаблон, в котором вы создадите отдельный рабочий лист (например, «косвенный Ref») для управления косвенностями. Всякий раз, когда вы пишете внешнюю ссылку на ячейку, вы вместо этого пишете INDIRECT (xx) и помещаете ссылку в ячейку xx на лист «косвенный Ref». Учитывая, что Poi - это в основном интерфейсы, вы можете сделать это прозрачно без изменений кода в вашем java-файле.
В Excel также есть макрос ОЦЕНКИ, который динамически оценивает формулы, которые будут еще проще работать, но это официально недокументировано (но широко документировано в другом месте!), и он может не поддерживаться во всех версиях Office.
Надеюсь, это поможет!