А пока я придумал два возможных решения.
Решение 1 на самом деле не является ответом на вопрос: LibreOffice будет открывать ODS-файлы так же, как и OpenOffice. При копировании диаграммы в LibreOffice, копия диаграммы сохраняет ссылку на данные (протестировано с LibreOffice v.4.2.8.2 под Linux). Это работает только в том случае, если имена всех рядов данных были установлены с помощью ссылки на ячейку таблицы (или не заданы вообще), а не фиксированной строкой.
Решение 2 состоит в том, чтобы редактировать ODS-файл напрямую, что очень удобно для небольшого числа графиков. Я вошел в файл, изменил дерево XML и был слегка удивлен, что сработало следующее:
- Создайте копию файла ODS и измените расширение на ZIP
- Извлечь content.xml
- Найдите правильный лист (поместите некоторый уникальный текст перед диаграммой, чтобы быстро найти его) и найдите диаграмму (см. Ниже).
- Скопируйте узел
<draw:frame>
дерева XML.
- Сохраните content.xml и реинтегрируйте в ZIP-файл, восстановите расширение ODS.
- Откройте файл в OpenOffice.
- Теперь у вас будет две копии диаграммы в одной и той же позиции - перетащите одну в другую позицию и отредактируйте диапазон данных.
Диаграмма в файле content.xml выглядит следующим образом:
<draw:frame ...><draw:object ...><text:p/></draw:object><draw:image .../></draw:frame>
Предупреждение: копирование <draw:frame>
без копирования связанных ресурсов может привести к несогласованности файла. Всегда работайте с копией. OpenOffice, кажется, автоматически копирует ресурсы - но я проверял это только для самых последних диаграмм, которые были созданы в файле.
Примечание: более простые решения (возможно, в рамках OpenOffice), конечно, все еще приветствуются.