Получение данных форматирования в openpyxlPython

Программы на Python
Ответить
Anonymous
 Получение данных форматирования в openpyxl

Сообщение Anonymous »

У меня возникли проблемы с извлечением стилей из листа Excel с помощью openpyxl. В приведенном ниже случае я создаю электронную таблицу и вижу, что форматирование правильное, но не знаю, как вернуть эти данные.

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

from openpyxl import Workbook
from openpyxl.reader.excel import load_workbook
from openpyxl.style import Color, Fill
#this is all setup
wb = Workbook()
dest_filename = 'c:\\temp\\test.xlsx'

ws = wb.worksheets[0]

ws.title = 'test'

ws.cell('A1').value = 'foo'
ws.cell('A1').style.font.bold = True

ws.cell('B1').value = 'bar'
ws.cell('B1').style.fill.fill_type = Fill.FILL_SOLID
ws.cell('B1').style.fill.start_color.index = Color.DARKYELLOW

wb.save(filename = dest_filename )
#setup complete

book = load_workbook( filename = dest_filename )

sheet = book.get_sheet_by_name('test')

#value work properly
print sheet.cell('A1').value #returns foo
print sheet.cell('B1').value #return bar

#formatting does not - THIS IS THE PROBLEM CODE
print sheet.cell('A1').style.font.bold #returns False
print sheet.cell('B1').style.fill.fill_type #returns none
print sheet.cell('B1').style.fill.start_color.index #returns FFFFFFFF

print sheet.cell('B1').has_style #returns true
#but these 2 return the same values! even thought C1 was never set and should be different
print sheet.get_style('A1')
print sheet.get_style('C1')


Подробнее здесь: https://stackoverflow.com/questions/174 ... n-openpyxl
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»