使用easyxf在xlwt中进行文本对齐

时间:2013-11-11 07:28:07

标签: python xlwt

我正在使用xlwt,excel表生成模块用于python。基本上我试图使用一些样式的文本。着色部分工作正常。

import xlwt

workbook = xlwt.Workbook(encoding='ascii')
worksheet = workbook.add_sheet('Test sheet')

worksheet.write(0, 0, "Hello World", xlwt.easyxf("pattern: pattern solid, fore_color yellow; font: color white;"))

还需要添加对齐方式。我找到了这个工作

alignment = xlwt.Alignment()
alignment.horz = xlwt.Alignment.HORZ_RIGHT
horz_style = xlwt.XFStyle() 
horz_style.alignment = alignment
worksheet.write(0, 0, "Hello World", horz_style)

但是现在整个事情搞得一团糟,因为我只能使用着色或对齐。我想要的是将对齐特征与xlwt.easyxf集成在一起

2 个答案:

答案 0 :(得分:11)

就像添加align:horiz right一样简单

import xlwt

workbook = xlwt.Workbook(encoding='ascii')
worksheet = workbook.add_sheet('Test sheet')

worksheet.write(0, 0, "Hello World", xlwt.easyxf("pattern: pattern solid, fore_color yellow; font: color white; align: horiz right"))
worksheet.save()

答案 1 :(得分:-1)

您需要在此处输入更多信息。如果您尝试使用VB脚本或其他语言执行此操作,问题是什么,以及您要完成的任务,那么您不能发布一些代码而不会说出您正在使用的应用程序。这个问题并没有告诉任何人任何事情。

我很熟悉Excel中的VB脚本,看起来很相似。以下是一些示例代码,它们可以帮助您,也可以为您提供一些想法。

对于格式化,你可以做更多的事情,但这里有一些常规的东西:

With Target
    .Font.Bold = True
    .Font.Underline = True
    .Font.Size = 11
    .Font.Color = RGB(0, 0, 0)
    .Font.Name = "Calibri"
    .HorizontalAlignment = xlLeft
End With

这告诉您如何使用Cells输入文本:

Cells(1, 1).Value2 = "Hello World"
ActiveSheet.Cells(1, 1).Value2 = "Hello World"
Worksheets("Sheet1").Cells(1, 1).Value2 = "Hello World"

这与使用单元格的上一代码完全相同,但这些是使用Range的选项:

Range("A1").Value2 = "Hello World"
ActiveSheet.Range("A1").Value2 = "Hello World"
Worksheets("Sheet1").Range("A1").Value2 = "Hello World"

希望无论你想做什么,这都会有所帮助。