Esempio n. 1
0
    return array($value);
}
// Add some data
$continentColumn = 'D';
$column = 'F';
// Set data for dropdowns
foreach (glob('./data/continents/*') as $key => $filename) {
    $continent = pathinfo($filename, PATHINFO_FILENAME);
    echo "Loading {$continent}", EOL;
    $continent = str_replace(' ', '_', $continent);
    $countries = file($filename, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    $countryCount = count($countries);
    // Transpose $countries from a row to a column array
    $countries = array_map('transpose', $countries);
    $objPHPExcel->getActiveSheet()->fromArray($countries, null, $column . '1');
    $objPHPExcel->addNamedRange(new PHPExcel\NamedRange($continent, $objPHPExcel->getActiveSheet(), $column . '1:' . $column . $countryCount));
    $objPHPExcel->getActiveSheet()->getColumnDimension($column)->setVisible(false);
    $objPHPExcel->getActiveSheet()->setCellValue($continentColumn . ($key + 1), $continent);
    ++$column;
}
// Hide the dropdown data
$objPHPExcel->getActiveSheet()->getColumnDimension($continentColumn)->setVisible(false);
$objPHPExcel->addNamedRange(new PHPExcel\NamedRange('Continents', $objPHPExcel->getActiveSheet(), $continentColumn . '1:' . $continentColumn . ($key + 1)));
// Set selection cells
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Continent:');
$objPHPExcel->getActiveSheet()->setCellValue('B1', 'Select continent');
$objPHPExcel->getActiveSheet()->setCellValue('B3', '=' . $column . 1);
$objPHPExcel->getActiveSheet()->setCellValue('B3', 'Select country');
$objPHPExcel->getActiveSheet()->getStyle('A1:A3')->getFont()->setBold(true);
// Set linked validators
$objValidation = $objPHPExcel->getActiveSheet()->getCell('B1')->getDataValidation();
Esempio n. 2
0
date_default_timezone_set('Europe/London');
/** Include PHPExcel */
require_once dirname(__FILE__) . '/../src/Bootstrap.php';
// Create new PHPExcel object
echo date('H:i:s'), " Create new PHPExcel object", EOL;
$objPHPExcel = new \PHPExcel\Spreadsheet();
// Set document properties
echo date('H:i:s'), " Set document properties", EOL;
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw")->setLastModifiedBy("Maarten Balliauw")->setTitle("Office 2007 XLSX Test Document")->setSubject("Office 2007 XLSX Test Document")->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")->setKeywords("office 2007 openxml php")->setCategory("Test result file");
// Add some data
echo date('H:i:s'), " Add some data", EOL;
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Firstname:')->setCellValue('A2', 'Lastname:')->setCellValue('A3', 'Fullname:')->setCellValue('B1', 'Maarten')->setCellValue('B2', 'Balliauw')->setCellValue('B3', '=B1 & " " & B2');
// Define named ranges
echo date('H:i:s'), " Define named ranges", EOL;
$objPHPExcel->addNamedRange(new \PHPExcel\NamedRange('PersonName', $objPHPExcel->getActiveSheet(), 'B1'));
$objPHPExcel->addNamedRange(new \PHPExcel\NamedRange('PersonLN', $objPHPExcel->getActiveSheet(), 'B2'));
// Rename named ranges
echo date('H:i:s'), " Rename named ranges", EOL;
$objPHPExcel->getNamedRange('PersonName')->setName('PersonFN');
// Rename worksheet
echo date('H:i:s'), " Rename worksheet", EOL;
$objPHPExcel->getActiveSheet()->setTitle('Person');
// Create a new worksheet, after the default sheet
echo date('H:i:s'), " Create new Worksheet object", EOL;
$objPHPExcel->createSheet();
// Add some data to the second sheet, resembling some different data types
echo date('H:i:s'), " Add some data", EOL;
$objPHPExcel->setActiveSheetIndex(1);
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Firstname:')->setCellValue('A2', 'Lastname:')->setCellValue('A3', 'Fullname:')->setCellValue('B1', '=PersonFN')->setCellValue('B2', '=PersonLN')->setCellValue('B3', '=PersonFN & " " & PersonLN');
// Resolve range