Я пытаюсь преобразовать массив в Excel, используя phpexcel. Итак, мой формат массива
Array
(
[0] => Array
(
[0] =>
[1] => Box Name
[2] => X1
[3] => X2
[4] => Y1
[5] => Y2
[6] => Patiend_ID
[7] => Age
[8] => Gender
[9] => X-Axis
[10] => X-Value
[11] => Y-Axis
[12] => Y-Value
)
[1] =>
[2] => Array
(
[0] => HM
[1] => 3.3
[2] => 6.6
[3] => 7.9
[4] => 10
[5] => 22
[6] => 63
[7] => MALE
[8] => Medication Adherence
[9] => 6
[10] => Caloric output
[11] => 10
)
[3] => Array
(
[0] => ML
[1] => 0
[2] => 3.3
[3] => 4.0
[4] => 7.9
[5] => 27
[6] => 56
[7] => FEMALE
[8] => Medication Adherence
[9] => 0
[10] => Caloric output
[11] => 5
)
[4] => Array
(
[0] => LH
[1] => 6.6
[2] => 10
[3] => 0
[4] => 4.0
[5] => 33
[6] => 58
[7] => MALE
[8] => Medication Adherence
[9] => 8
[10] => Caloric output
[11] => 0
)
[5] => Array
(
[0] => LL
[1] => 0
[2] => 3.3
[3] => 0
[4] => 4.0
[5] => 48
[6] => 62
[7] => FEMALE
[8] => Medication Adherence
[9] => 1
[10] => Caloric output
[11] => 3
)
)
код, который я пробовал
<?php/**
* PHPExcel
*
* Copyright (C) 2006 - 2014 PHPExcel
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* @category PHPExcel
* @package PHPExcel
* @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
* @version 1.8.0, 2014-03-02
*/
/** Error reporting */
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
date_default_timezone_set('Europe/London');
if (PHP_SAPI == 'cli')
die('This example should only be run from a Web Browser');
/** Include PHPExcel */
require_once dirname(__FILE__) . '/Classes/PHPExcel.php';// Create new PHPExcel object
$objPHPExcel = new PHPExcel();
// Set document properties
$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");$data=$_POST['name'];//print_r($_POST['name']);
// Add some data
/*$data = array(
array ('Name', 'Surname'),
array('Schwarz', 'Oliver'),
array('Test', 'Peter')
); */$objPHPExcel->getActiveSheet()->fromArray($data, null, 'A1');
// Miscellaneous glyphs, UTF-8
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A4', 'Miscellaneous glyphs')
->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç');
// Rename worksheet
$objPHPExcel->getActiveSheet()->setTitle('Simple');// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);// Redirect output to a client?s web browser (Excel5)
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="01simple.xls"');
header('Cache-Control: max-age=0');
// If you're serving to IE 9, then the following may be needed
header('Cache-Control: max-age=1');
// If you're serving to IE over SSL, then the following may be needed
header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified
header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1
header ('Pragma: public'); // HTTP/1.0
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
?>
Таким образом, это дает ошибку, как и неверный аргумент. Что я делаю не так. Я посылаю массив из JavaScript в php с помощью вызова AJAX. Любая помощь будет оценена.
Задача ещё не решена.
Других решений пока нет …