Pywin32 Excel Форматирование - PullRequest
       27

Pywin32 Excel Форматирование

0 голосов
/ 13 декабря 2011

Я хочу написать в лист Excel через pywin32. Я могу сделать это на самом деле без проблем. Но я не смог отформатировать диапазон ячеек в листе. Я хочу выровнять значения по центру внутри ячеек. А также мне нужно заполнить клетки цветом. Как мне это сделать?

Заранее спасибо.

1 Ответ

6 голосов
/ 13 декабря 2011

Раньше я специально не делал это с помощью python, но я предполагаю, что вы используете интерфейс автоматизации COM, чтобы преуспеть.

На этой странице есть пример, который кажетсяПокройте как выравнивание, так и заполнение ячеек цветом в C #, так что его будет довольно легко адаптировать к Python.Предполагая, что у вас есть объект Worksheet с именем sheet, а объект автоматизации Excel называется Excel, я предполагаю, что он может выглядеть примерно так:

//Format A1:D1 as center alignment, 
sheet.Range("A1", "D1").VerticalAlignment = Excel.XlVAlign.xlVAlignCenter
sheet.Range("A1", "D1").HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter
sheet.Range("A1", "D1").Interior.ColorIndex = Excel.XlColorIndex.Red

Если у вас нет доступа к Excel.Константы XlAlign и XlColorIndex из python, тогда вы можете просто заменить их конкретными целыми числами, которые они представляют, хотя я не совсем уверен, откуда вы могли бы их получить.Вероятно, с Справочного сайта VBA или аналогичного.(Хотя эта ссылка, которую я предоставил, кажется, не позволяет вам расширить каждую запись в списке, поэтому вам, возможно, придется поискать в другом месте)

РЕДАКТИРОВАТЬ: только что поиграл с автоматизацией Excel через Pythonконсоль, и, кажется, работает нормально:

>>> from win32com.client import Dispatch
>>> xlApp = Dispatch("Excel.Application")
>>> xlWb = xlApp.Workbooks.Add()
>>> xlSht = xlWb.WorkSheets(1)
>>> xlSht.Range("A1", "D1").VerticalAlignment = 1
>>> xlSht.Range("A1", "D1").Interior.ColorIndex = 6
>>> # The background color of A1-D1 should now be yellow
>>> xlSht.Cells(1, 1).VerticalAlignment = 1

Если вы не можете найти какую-либо хорошую ссылку на то, что различные константы выравнивания / цвета, то я просто поигрался бы с python на консоли, какзатем откройте полученный лист в Excel и посмотрите на результаты, чтобы разобраться.

Официальный справочник по API автоматизации Office 2003 здесь В частности, вы 'Возможно, вы найдете документацию по диапазону 1020 * наиболее полезную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...