2013-04-09 2 views
1

Нам нужно обновить лист xlsx, используя скрипт python, который выполняет некоторые вычисления и обновляет один рабочий лист. Я выбираю openpyxl, поскольку он поддерживает запись/обновление файла xlsx. В листе Excel также содержатся некоторые графики. Когда я обновляю лист excel, а не график в excel и обновление данных соответственно. Я думаю, что у нас была проблема для обновления графика с openpyxl.Can, кто-нибудь предоставил мне какой-нибудь ввод, чтобы исправить эту проблему.Графы в xlsx Переписать файл openpyxl

или Другими словами, на листе Excel у меня есть 10 рабочих листов. На листе 1 они содержат графики. Я обновил рабочий лист № 5. Рабочий лист успешно обновлен. Но у меня есть расслабить графики лист 1.

#!/usr/bin/env python 
from openpyxl import load_workbook 
import openpyxl 
print "pylx" 
ddr_sam45_flop = "Flip_Flop.xlsx" 
flop_workbook  = load_workbook(ddr_sam45_flop) 
raw_flop_workbook = flop_workbook.get_sheet_by_name(name ='RAW') 
raw_flop_workbook.cell(row = 1 , column = 1).value = 889999 
flop_workbook.save(ddr_sam45_flop) 
print "End" 

(Пожалуйста, считайте меня новым для openpyxl)

ответ

2

Openpyxl не поддерживает графики или диаграммы, как сейчас

1

Любые графики, которые существуют в документе перед открытием будут удалены после сохранения. Единственный способ обойти это (я знаю) - создать диаграмму в коде.

Here является документация о том, как создать диаграмму в openpyxl

пример немного сломанный, сравните это вместо.

values = Reference(ws, (1, 1), (1, 95)) 
    series = Series(values, title="Sample") 
    chart = LineChart() 
    chart.append(series) 
    ws.add_chart(chart) 
+0

Можно ли найти существующую диаграмму, скопировать ее и добавить обратно, а не создавать ее вручную? –

+0

@LegitStack Это не похоже на мое тестирование. Действие сохранения воссоздает документ xml, который удаляет диаграмму. Настоящий позор, когда мне нужна эта функция. – oden