2016-02-01 112 views
0

我試圖添加一些表格到一個文件,經過大量的工作後,它顯示正確。用PHPWord生成。問題是,無論我添加在表格,行或單元格樣式中,它都不會修改表格。表格忽略給定的格式

我已經嘗試過:$table->addRow(15),$table->addRow(array('height'=>15)),如下面的代碼所示。

此外,沒有關於如何使用兩行文本添加單元格的文檔,因爲在'Sign'下面我必須添加'Name'。

//TABLE1 
$table = $section->addTable(array('width'=>100, 'borderSize'=> 1, 'borderColor'=>'000000')); 
$table->addRow(15,array('height'=>15)); 
$table->addCell(array('width'=>150))->addText('COMPANY', $smallBoldFont); 
$table->addRow(); 
$table->addCell()->addText(''); 
$table->addRow(); 
$table->addCell()->addText(''); 
//TABLE1 
$section->addTextBreak(2); 
//TABLE2 
$table2 = $section->addTable(array('borderSize'=> 1, 'borderColor'=>'000000')); 
$table2->addRow(100,array('height'=>80)); 
$table2->addCell(150,array('width'=>800))->addText('Recibed', $smallFont8); 
$table2->addRow(); 
$table2->addCell()->addText('Time:', $smallFont8); 
$table2->addCell()->addText('Sign:', $smallFont8); 
//TABLE2 

是否有理由爲什麼PHPWord忽略我的格式樣式到表?還有其他方式可以做得更好嗎?

希望的輸出:

enter image description here

實際輸出:

enter image description here

回答

1

在文檔是所有。只是要深入閱讀。這裏是如何創建tables的部分,包括使用多列單元格創建表格

我不知道PHPWord是否有一些預定義單位的情況下,如果你錯過了使用它們。但看起來你需要爲寬度設置單位。但是你應該根據需要測試單位和數字。

訂單創建多列單元格是gridSpan()。因此,對於創建第二個表格的第一行的行(可能)應該是:

$table2->addCell(150,array('width'=>800))->gridSpan(2) ->addText('Recibed', $smallFont8); 

PHPWord使用緹作爲默認單位。所有單元格都必須與其寬度匹配。 最小單元格用於整列。

對於從緹到其他單位的轉換可以使用EndMemo (Topography Conversion Online)

250像素是3750緹。

+0

我使用了該文檔中顯示的所有格式。 添加單位不起作用,只是試過了。 你的答案的最後部分工作完美,所以謝謝你。 – AleOtero93

+1

PHPWord看起來很有趣 - 但我寧願繼續使用我自己的方式(我自己的HTML代碼生成器),即使它不完美。 –

+0

似乎單位是緹,所有的單元格都必須與其寬度相匹配。整個列採用最小單元格寬度。這是一個twip其他單位轉換器http://endmemo.com/convert/topography.php,像3750緹是250像素。請將此添加到您的答案中,我會接受它。所以其他人可以找到這個信息eassier。 – AleOtero93