简体   繁体   中英

Need help in creating a table in PHPWord

Everything is working fine, but I am have really tried to make a table in phpword without white spacing with below the text inside the table. Please help me out forming this situation.

This is my code....

$phpWord = new \PhpOffice\PhpWord\PhpWord();

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

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

         add style settings for the title and paragraph
         $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);

The result is this在此处输入图片说明

but I required Like this (without white spacing or padding)

在此处输入图片说明

Very simple just add this:

$table->addCell()->addText('Your String', $fontStyle, array('spaceAfter'=>0));

Enjoy it ;)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM