在网上找了很久,终于找到一个牛人搞的不用composer,可以直接放到虚拟空间里使用的版本。然后更新成最新的PhpSpreadsheet Master版,打包方便大伙下载。
下载地址:http://cdn.it09.com/wap/PhpSpreadsheet.zip
再送一段可以直接使用的代码:
<?php
//读取所有MYSQL数据输出到Xlsx文件。
namespace PhpOffice;
include( __DIR__ .”/includes/PhpSpreadsheet/PhpOffice/autoload.php”);
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Style\Alignment;
//use PhpOffice\PhpSpreadsheet\Reader\Xlsx;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use PhpOffice\PhpSpreadsheet\Style\Border;
use PhpOffice\PhpSpreadsheet\Style\Color;
use PhpOffice\PhpSpreadsheet\IOFactory;
//读取模板
$spreadsheet = IOFactory::load( __DIR__ .’/upload/11.xlsx’);
// 读取第一个工作表
$excelSheet = $spreadsheet->getSheet(0);
include( __DIR__ .’/mysql.php’);//这个是数据库连接
$sql=’SELECT * ************;’;//MYSQL查询指令
$result=ReadSQL($sql);
$i=1;
set_time_limit(0);//0表示不限时
foreach($result as $result1)
{
for($j=65;$j<=90;$j++)
{
//$excelSheet->getCell(chr($j).$i)->setValueExplicit($result1[‘Ziduan’.($j-64)],DataType::TvalueYPE_STRING);
if($j==66)
$excelSheet->setCellValue(chr($j).$i, “‘”.$result1[‘Ziduan’.($j-64)]);
//$excelSheet->getStyle(chr($j).$i)->getNumberFormat()->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_TEXT);//设为文本格式。
else
$excelSheet->setCellValue(chr($j).$i, $result1[‘Ziduan’.($j-64)]);
}$i++;
}
$filename = time().”.xlsx”;
//直接输出到浏览器
ob_end_clean();
header(‘Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet’);
header(‘Content-Disposition: attachment;filename=”‘.$filename.’”‘);
header(‘Cache-Control: max-age=0’);
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet , ‘Xlsx’);
$writer->save(‘php://output’);
die;//至此完美解决直接输出到浏览器的问题。