Pywin32 Excel格式

我想通过pywin32写入Excel表格。 我可以做到这一点没有问题。 但是我不能在表格中设置一系列的单元格。 我想要在细胞中心alignment值。 而且我还需要用颜色填充单元格。 我该怎么做?

提前致谢。

我以前没有专门用python做过这个,但是我假设你正在使用COM自动化接口来实现excel。

这个页面有一个例子,它似乎覆盖了C#中alignment和填充单元格的颜色,所以它适应python应该相当容易。 假设你有一个称为工作表的工作表对象,而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 

如果你不能访问python中的Excel.XlAlign和XlColorIndex常量,那么你可以用它们代表的特定整数replace它们,尽pipe我并不完全确定它们从哪里得到它们。 可能来自VBA参考站点或类似站点 。 (虽然我提供的链接似乎不允许您展开列表中的每个条目,因此您可能需要查看其他地方)

编辑:只是有一个关于通过Python控制台的Excel自动化发挥,它似乎工作正常:

 >>> 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 

如果你不能在各种alignment/颜色常量上find任何好的参考,那么我只是在控制台上玩这个python,然后在excel中打开生成的工作表,并看看结果事情了。

您可以在这里findoffice 2003自动化API的官方参考。具体来说,您可能会发现最有用的范围文档 。