2013-04-26 18 views
1

我目前正在使用PHP中的Spreadsheet_Excel_Writer。 它适用于我有的数据。 但现在我想格式化我的数据。PHP中的Spreadsheet_Excel_Writer:对齐单个单元

比方说,我有3列:位置,物品和价格。 Spreadsheet_Excel_Writer正确写入每一行。 但现在我想要格式化它,价格列中的数据是右对齐的,而每行中的其他两个值应该左对齐。

当我使用->setAlign("left"); 它将整行向左对齐。 但我想要一个单一的价值是正确的。 我该怎么做? 如果我写->setAlign("right");它将该行中的所有值对齐到右边。

这里是例如:

$worksheet->writeString($row_pos, $col, $item[$val], $format_pos_data); 

只要我在相同行中,则 - >对齐() - 值会影响整个行。 有没有办法改变这种行为?

+0

$ format_pos_data变量的值是多少? – 2013-04-26 12:47:39

+1

的值为: ' $ format_pos_data =&$ this-> workbook-> addFormat(); $ format_pos_data-> setAlign(“left”); ' 但我发现如何解决这个问题。 我必须采取两个不同的变量。 像上面这样的一个和' - > setAlign('right')'一个。 如果我使用两个不同的变量,它的工作原理: ' 如果(strtoupper($ VAL)== “价格”){ \t \t \t \t \t \t $ worksheet-> writeString($ row_pos,$山坳,$ item [$ val],$ format_pos_data_right); \t \t \t \t \t}否则{ \t \t \t \t \t \t $ worksheet-> writeString($ row_pos,$栏,$项[$ VAL],$ format_pos_data_left); \t \t \t \t \t}' – 2013-04-26 13:59:32

+1

对你有好处:)将此添加为答案并将其标记为正确,以便其他用户在遇到相同问题时可以看到它。 – 2013-04-26 14:04:26

回答

1

我发现了如何解决这个问题。我必须采取两个不同的变量。一个像上面一样,用 - > setAlign('right')。如果我使用两个不同的变量,它可以工作:

if (strtoupper($val) == "PRICE") { 
    $worksheet->writeString($row_pos, $col, $item[$val], $format_pos_data_right); 
} else { 
    $worksheet->writeString($row_pos, $col, $item[$val], $format_pos_data_left); 
}