2024-03-29 10:49:23 发布
网友
我想通过pywin32写一份Excel表格。我可以毫无问题地做到。但我无法在工作表中格式化一系列单元格。我想在单元格中居中对齐这些值。我还需要用颜色填充单元格。我该怎么做?
提前谢谢。
我以前没有使用python专门完成过这项工作,但我假设您正在使用COM自动化接口来excel。
This page有一个例子似乎涵盖了C#中的对齐和用颜色填充单元格,因此适应python应该相当容易。假设您有一个名为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
如果您不能从python访问Excel.XlAlign和xlcolornindex常量,那么您可以用它们表示的特定整数替换它们,尽管我不确定从哪里可以得到它们。可能来自VBA Reference Site或类似的。(尽管我提供的链接似乎不允许您扩展列表中的每个条目,所以您可能需要查看其他地方)
编辑:刚刚通过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
如果您找不到任何关于各种对齐/颜色常量的好的参考,那么我将在控制台上这样使用python,然后在excel中打开结果工作表并查看结果以解决问题。
您可以找到office2003automationapi的官方参考资料here 具体来说,您可能会发现range documentation最有用。
我以前没有使用python专门完成过这项工作,但我假设您正在使用COM自动化接口来excel。
This page有一个例子似乎涵盖了C#中的对齐和用颜色填充单元格,因此适应python应该相当容易。假设您有一个名为sheet的工作表对象,而Excel自动化对象名为Excel,我猜它可能看起来有点像这样:
如果您不能从python访问Excel.XlAlign和xlcolornindex常量,那么您可以用它们表示的特定整数替换它们,尽管我不确定从哪里可以得到它们。可能来自VBA Reference Site或类似的。(尽管我提供的链接似乎不允许您扩展列表中的每个条目,所以您可能需要查看其他地方)
编辑:刚刚通过python控制台玩了一个excel自动化的游戏,它看起来工作正常:
如果您找不到任何关于各种对齐/颜色常量的好的参考,那么我将在控制台上这样使用python,然后在excel中打开结果工作表并查看结果以解决问题。
您可以找到office2003automationapi的官方参考资料here 具体来说,您可能会发现range documentation最有用。
相关问题 更多 >
编程相关推荐