*/
require_once '../../classes/CreateDocx.inc';
$docx = new CreateDocx();
//Importing header and footer from external .docx file
$docx->importHeadersAndFooters('../word_documents/templateHeaderAndFooter.docx');
$text = array();
$text[] = array('text' => 'I am going to write');
$text[] = array('text' => ' Hello World!', 'b' => 'single');
$text[] = array('text' => ' using bold characters.');
$docx->addText($text);
//We first prepare an item list element with more sophisticated formatting:
$paramsItem = array(array('text' => 'This is the text associated with the first item', 'b' => 'single', 'color' => 'b70000'), array('text' => ' now without bold'), array('text' => ' and blue', 'color' => '0000b7'));
$myItem = $docx->addElement('addText', $paramsItem);
//Let us now to add a nested unordered list
$myList = array($myItem, 'item 2', array('subitem 2_1', 'subitem 2_2'), 'item 3', array('subitem 3_1', 'subitem 3_2', array('sub_subitem 3_2_1', 'sub_subitem 3_2_1')), 'item 4');
$docx->addList($myList, array('val' => 1));
$valuesTable = array(array('cell_1_1', 'cell_1_2', 'cell_1_3', 'cell_1_4'), array('cell_2_1', 'cell_2_2', 'cell_2_3', 'cell_2_4'), array('cell_3_1', 'cell_3_2', 'cell_3_3', 'cell_3_4'));
$paramsTable = array('TBLSTYLEval' => 'MediumGrid3-accent5PHPDOCX');
$docx->addTable($valuesTable, $paramsTable);
$myHTML = '<br /><p style="font-family: Calibri; font-size: 11pt">We include a table with rowspans and colspans using the embedHTML method.</p>
<table style="font-family: Calibri; font-size: 11pt">
  <tr>
	  <td>header 1</td>
	  <td>header 2</td>
	  <td>header 3</td>
	  <td>header 4</td>
  </tr>
  <tr>
	  <td rowspan="2" colspan="2">cell_1_1</td>
	  <td>cell_1_3</td>
	  <td>cell_1_4</td>
 /**
  * Exports the complete report as a DOCX file
  * @return	boolean		False on error
  * @todo use unoconv
  */
 public function exportCompleteReportDOC($data)
 {
     $_course = api_get_course_info();
     $filename = 'gb_results_' . $_course['code'] . '_' . gmdate('YmdGis');
     $filepath = api_get_path(SYS_ARCHIVE_PATH) . $filename;
     //build the results
     $inc = api_get_path(LIBRARY_PATH) . 'phpdocx/classes/CreateDocx.inc';
     require_once api_get_path(LIBRARY_PATH) . 'phpdocx/classes/CreateDocx.inc';
     $docx = new CreateDocx();
     $paramsHeader = array('font' => 'Courrier', 'jc' => 'left', 'textWrap' => 5);
     $docx->addHeader(get_lang('FlatView'), $paramsHeader);
     $params = array('font' => 'Courrier', 'border' => 'single', 'border_sz' => 20);
     $lines = 0;
     $values[] = implode("\t", $data[0]);
     foreach ($data[1] as $line) {
         $values[] = implode("\t", $line);
         $lines++;
     }
     //$data = array();
     //$docx->addTable($data, $params);
     $docx->addList($values, $params);
     //$docx->addFooter('', $paramsHeader);
     $paramsPage = array('orient' => 'landscape');
     $docx->createDocx($filepath, $paramsPage);
     //output the results
     $data = file_get_contents($filepath . '.docx');
     $len = strlen($data);
     //header("Content-type: application/vnd.ms-word");
     header('Content-type: application/vnd.openxmlformats-officedocument.wordprocessingml.document');
     //header('Content-Type: application/force-download');
     header('Content-length: ' . $len);
     header("Content-Disposition: attachment; filename=\"{$filename}.docx\"");
     header('Expires: 0');
     header('Cache-Control: must-revalidate, post-check=0,pre-check=0');
     header('Pragma: public');
     echo $data;
     return true;
 }
<?php

//path to  the CreateDocx class within your PHPDocX installation
require_once '../../../classes/CreateDocx.inc';
$docx = new CreateDocx();
//Custom options
$latinListOptions = array();
$latinListOptions[0]['type'] = 'lowerLetter';
$latinListOptions[0]['format'] = '%1.';
$latinListOptions[1]['type'] = 'lowerRoman';
$latinListOptions[1]['format'] = '%1.%2.';
//Create the list style with name: latin
$docx->createListStyle('latin', $latinListOptions);
//List items
$myList = array('item 1', array('subitem 1.1', 'subitem 1.2'), 'item 2');
//Insert custom list into the Word document
$docx->addList($myList, 'latin');
//Save the Word document
$docx->createDocx('example_createListStyle_1');
<?php

//path to  the CreateDocx class within your PHPDocX installation
require_once '../../../classes/CreateDocx.inc';
$docx = new CreateDocx();
$itemList = array('Line 1', array('Line A', 'Line B', 'Line C'), 'Line 2', 'Line 3');
//we set the style type to 2: ordered list
$docx->addList($itemList, 2);
$docx->createDocx('example_addList_2');
<?php

//path to  the CreateDocx class within your PHPDocX installation
require_once '../../../classes/CreateDocx.inc';
$docx = new CreateDocx();
$itemList = array('Line 1', 'Line 2', 'Line 3', 'Line 4', 'Line 5');
//stablish some global run properties for each list item
$options = array('font' => 'Arial', 'italic' => true, 'fontSize' => 14, 'color' => 'b70000');
//we set the style type to 1: unordered list
$docx->addList($itemList, 1, $options);
$docx->createDocx('example_addList_4');
<?php

//path to  the CreateDocx class within your PHPDocX installation
require_once '../../../classes/CreateDocx.inc';
$docx = new CreateDocx();
//we prepare some formatted text for insertion in the list
$textData = new WordFragment($docx);
$text = array();
$text[] = array('text' => 'We insert some ');
$text[] = array('text' => 'bold text', 'b' => 'on');
$textData->addText($text);
//and also some simple HTML to illustrate the fexibility of the method
$htmlData = new WordFragment($docx);
$html = '<i>Some HTML code</i> with a <a href="http://www.phpdocx.com">link</a>';
$htmlData->embedHTML($html);
$itemList = array('In this example we use a custom list (val = 5) that comes bundled with the default PHPdocX template.', array($textData, 'Line B', 'Line C'), $htmlData, 'Line 3');
//we set the style type to 5: other predefined Word list style
$docx->addList($itemList, 5);
$docx->createDocx('example_addList_3');
<?php

//path to  the CreateDocx class within your PHPDocX installation
require_once '../../../classes/CreateDocx.inc';
$docx = new CreateDocx();
$itemList = array('Line 1', 'Line 2', 'Line 3', 'Line 4', 'Line 5');
//we set the style type to 1: unordered list
$docx->addList($itemList, 1);
$docx->createDocx('example_addList_1');
<?php

/**
 * Create a DOCX file. List example
 *
 * @category   Phpdocx
 * @package    examples
 * @subpackage easy
 * @copyright  Copyright (c) 2009-2011 Narcea Producciones Multimedia S.L.
 *             (http://www.2mdc.com)
 * @license    LGPL
 * @version    2.0
 * @link       http://www.phpdocx.com
 * @since      File available since Release 2.0
 */
require_once '../../classes/CreateDocx.inc';
$docx = new CreateDocx();
$valuesList = array('Line 1', 'Line 2', 'Line 3', 'Line 4', 'Line 5');
$paramsList = array('val' => 1);
$docx->addList($valuesList, $paramsList);
$docx->createDocx('example_list');