2013-04-26 19 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); 
}