Создание таблицы в PHPWord

#php #codeigniter #phpword

#php #codeigniter #phpword

Вопрос:

Все работает нормально, но я действительно пытался создать таблицу в phpword без пробелов под текстом внутри таблицы. Пожалуйста, помогите мне разобраться в этой ситуации.

Это мой код….

 $phpWord = new PhpOfficePhpWordPhpWord();

$phpWord->getCompatibility()->setOoxmlVersion(14);
$phpWord->getCompatibility()->setOoxmlVersion(15);

$targetFile = "./global/uploads/";
$filename = $news['CompanyDetails']['QuotationCode'].' Quotation For '.$news['CompanyDetails']['CompanyName'].'.docx';

$section = $phpWord->addSection();
$section->getStyle()->setBreakType('continuous');
$header = $section->addHeader();
$header->headerTop(10);



$section->addImage(base_url('images/qoutlogo.jpg'), array('align'=>'center' ,'topMargin' => -5));

$section->addTextBreak(-5);
$center = $phpWord->addParagraphStyle('p2Style', array('align'=>'center','marginTop' => 1));
$section->addText('this is my name',array('bold' => true,'underline'=>'single','name'=>'TIMOTHYfont','size' => 14),$center);
$section->addTextBreak(-.5);

$section->addText('Tel:    00971-55-25553443 Fax: 00971-55- 2553443',array('name'=>'Times New Roman','size' => 13),$center);
$section->addTextBreak(-.5);
$section->addText('Quotation',array('bold' => true,'underline'=>'single','name'=>'Times New Roman','size' => 16),$center);
$section->addTextBreak(-.5);
$tableStyle = array('borderSize' => 1, 'borderColor' => '999999', 'afterSpacing' => 0, 'Spacing'=> 0, 'cellMargin'=>0  );
$styleCell = array('borderTopSize'=>1 ,'borderTopColor' =>'black','borderLeftSize'=>1,'borderLeftColor' =>'black','borderRightSize'=>1,'borderRightColor'=>'black','borderBottomSize' =>1,'borderBottomColor'=>'black' );
$fontStyle = array('italic'=> true, 'size'=>11, 'name'=>'Times New Roman','afterSpacing' => 0, 'Spacing'=> 0, 'cellMargin'=>0 );
$TfontStyle = array('bold'=>true, 'italic'=> true, 'size'=>11, 'name' => 'Times New Roman', 'afterSpacing' => 0, 'Spacing'=> 0, 'cellMargin'=>0);
$cfontStyle = array('allCaps'=>true,'italic'=> true, 'size'=>11, 'name' => 'Times New Roman','afterSpacing' => 0, 'Spacing'=> 0, 'cellMargin'=>0);
$noSpace = array('textBottomSpacing' => -1);
$table = $section->addTable('myOwnTableStyle',array('borderSize' => 1, 'borderColor' => '999999', 'afterSpacing' => 0, 'Spacing'=> 0, 'cellMargin'=>0  ));
$table2 = $section->addTable('myOwnTableStyle');
$table->addRow(-0.5, array('exactHeight' => -5));
$countrystate = $news['CompanyDetails']['Country'].' - '.$news['CompanyDetails']['State'];
$table->addCell(2500,$styleCell)->addText('Date',$TfontStyle);
$table->addCell(6000,$styleCell)->addText($news['CompanyDetails']['Date'],$fontStyle);
$table->addCell(1500,$styleCell)->addText('Cust. Ref',$TfontStyle);
$table->addCell(2000,$styleCell)->addText($news['CompanyDetails']['Reference'],$fontStyle);
$table->addRow();
$table->addCell(2500,$styleCell)->addText('Company Name',$TfontStyle);
$table->addCell(6000,$styleCell)->addText($news['CompanyDetails']['CompanyName'],$cfontStyle);
$table->addCell(1500,$styleCell)->addText('Tel',$TfontStyle);
$table->addCell(2000,$styleCell)->addText($news['CompanyDetails']['Tel'],$fontStyle);
$table->addRow();
$table->addCell(2500,$styleCell)->addText('Country',$TfontStyle);
$table->addCell(6000,$styleCell)->addText($countrystate, $fontStyle);
$table->addCell(1500,$styleCell)->addText('Fax',$TfontStyle);
$table->addCell(2000,$styleCell)->addText($news['CompanyDetails']['Fex'],$fontStyle);
$table->addRow();
$table->addCell(2500,$styleCell)->addText('Attn.',$TfontStyle);
$table->addCell(6000,$styleCell)->addText($news['CompanyDetails']['ContectPerson'].' '. $news['CompanyDetails']['Designation'].' '.$news['CompanyDetails']['MobileNum'],$fontStyle);
$table->addCell(1500,$styleCell)->addText('Email',$TfontStyle);
$table->addCell(2000,$styleCell)->addText($news['CompanyDetails']['Email'],$fontStyle);
$table->addRow();
$table->addCell(2500,$styleCell)->addText('Subject',$TfontStyle);
$table->addCell(6000,$styleCell)->addText($news['CompanyDetails']['Subject'],$fontStyle);
$table->addCell(1500,$styleCell)->addText('From',$TfontStyle);
$table->addCell(2000,$styleCell)->addText($news['CompanyDetails']['From'],$fontStyle);
$table->addRow();
$table->addCell(2500,$styleCell)->addText('Quotation No.',$TfontStyle);
$table->addCell(6000,$styleCell)->addText($news['CompanyDetails']['QuotationNum'],$fontStyle);
$table->addCell(1500,$styleCell)->addText('pages',$TfontStyle);
$table->addCell(2000,$styleCell)->addText($news['CompanyDetails']['Pages'],$fontStyle);

$section->addTextBreak(-1);
  

Результат таков

введите описание изображения здесь

но мне требовалось вот так (без пробелов или отступов)

введите описание изображения здесь

Комментарии:

1. я думаю, что это проблема с абзацем. потому что, когда абзац или отдельная строка заканчиваются, тогда видны пробелы. поэтому, пожалуйста, если это так, можно решить проблему и удалить этот интервал после абзаца. я пытался это выяснить, но не нашел.

Ответ №1:

Просто добавьте пробел после выравнивания значения до 0 в каждом addText подобном:

 $table->addCell(2500,$styleCell)->addText('Date',$TfontStyle,array('align' => 'left', 'spaceAfter' => 0));