我想用excel表(xlx)使用php写数组

我想写一个数组到Excel表:有人可以帮助我吗? 我怎样才能在Excel表格中写入这个数组?

我的arrays:

Array ( [1] => Array ( [1] => age [2] => name [3] => gender ) [2] => Array ( [1] => 12 [2] => alexander [3] => male ) [3] => Array ( [1] => 18 [2] => shine [3] => female ) ) 

我想要这个输出:

在这里输入图像说明

我想在Excel表格中写入这个数组,并在写入数组之后,将文件下载为Excel电子表格(xlsx)。

您好可以存储数组作为csv文件或使用Excel的PHP库之一来创buildExcel文件,你可以检查这个库: PHPExcel

我已经testing了这个代码在我的开发服务器上,它应该完美的工作:

  1. 获取PHPExcel库并将其放在您的服务器上。
  2. 使用此代码:

     // Include the PHPExcel libraries require_once "PHPExcel/PHPExcel.php"; // Or whatver the path to your PHPExcel library is require_once "PHPExcel/PHPExcel/IOFactory.php"; // Set up your input data array $data = array( array("age", "name", "gender"), array("12", "alexander", "male"), array("18", "shine", "female"), ); // Create the PHPExcel object $xl = new PHPExcel(); // Write the data into the new spreadsheet starting at cell A1 $xl->getActiveSheet()->fromArray($data, NULL, 'A1'); // Create a spreadsheet writer, in this case for Excel 2007 (xlsx) $objWriter = PHPExcel_IOFactory::createWriter($xl, 'Excel2007'); // Set the appropriate headers for the download: header("Content-type: application/octet-stream"); // Name the file header("Content-Disposition: attachment; filename=Export.xlsx"); $objWriter->save('php://output'); // We're finished! die; 

另外,如果你想对你刚刚生成的文件做一些不同的事情,你可以用$objWriterreplace所有的东西,例如:

 ob_start(); $objWriter->save('php://output'); $fileContents = ob_get_clean(); 

我了解你要生成.XLS文件。 对? 下面的代码会做。

 require_once "PHPExcel/PHPExcel.php"; //the path to your PHPExcel library require_once "PHPExcel/PHPExcel/IOFactory.php"; // Set up your input data array $data = array( array("age", "name", "gender"), array("12", "alexander", "male"), array("18", "shine", "female"), ); $name ="sheet name"; $objPHPExcel = new PHPExcel(); $objWriter = array(); $objWorkSheet = $objPHPExcel->createSheet(); $objPHPExcel->setActiveSheetIndex(0); $objPHPExcel->getActiveSheet()->setTitle($name); $objPHPExcel->getActiveSheet()->fromArray($data); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); header('Content-Type: application/vnd.ms-excel'); header("Content-Disposition: attachment; filename=\""filename.xls"); header('Cache-Control: max-age=0'); ob_get_clean(); $objWriter->save('php://output'); ob_end_flush(); exit;