PHPExcel 错误,我是要用PHPExcel从数据库里导出到Excel里面,提示错误~!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHPExcel 错误,我是要用PHPExcel从数据库里导出到Excel里面,提示错误~!相关的知识,希望对你有一定的参考价值。

php Parse error: syntax error, unexpected T_VARIABLE in C:\lion168\admin\Tests\01simple-download-xlsx.php on line 65
以上是错误信息,高手帮忙看看把。!!!
给位大侠帮帮忙!!!
require_once("../config.php");
CheckPurview('member_Incash');

/** Error reporting */
error_reporting(E_ALL);

date_default_timezone_set('Europe/London');

/** PHPExcel */
require_once '../Classes/PHPExcel.php';

// Create new PHPExcel object
$objPHPExcel = new PHPExcel();

// Set 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");

// Add some data
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', '姓名')
->setCellValue('B1', '帐号')
->setCellValue('C1', 'VIP')
->setCellValue('D1', '注册时间')
->setCellValue('E1', '现金流入')
->setCellValue('F1', '现金流出')
->setCellValue('G1', '红利')
->setCellValue('H1', '冲正冲负')
->setCellValue('I1', '毛利');
// Miscellaneous glyphs, UTF-8
$objPHPExcel->setActiveSheetIndex(0)
$rowb = $dsql->GetOne("Select sum(b.hongli) as hongli From `ek_member_incash` b");
$hongli=$rowb['hongli'];
->setCellValue('A4', $hongli)
->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç');

// Rename sheet
$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 (Excel2007)
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="01simple.xlsx"');
header('Cache-Control: max-age=0');

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
exit;

$rowb = $dsql->GetOne("Select sum(b.hongli) as hongli From `ek_member_incash` b");
$hongli=$rowb[\'hongli\'];
这两句放的地方不对吧,怎么能接着 $objPHPExcel->setActiveSheetIndex(0) 呢,应该是这样的
$rowb = $dsql->GetOne("Select sum(b.hongli) as hongli From `ek_member_incash` b");
$hongli=$rowb[\'hongli\'];
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue(\'A4\', $hongli)
->setCellValue(\'A5\', \'éàèùâêîôûëïüÿäöüç\');
参考技术A 这个错误信息是说,在不该出现变量的地方出现了变量。

  错误是由上一个非空行引起的,多半是缺少行结束符。

  意外的T_VARIABLE,
参考技术B 65行报错,看看是不是写错函数名了

PHPExcel - Excel5 - 创建折线图 - 图表缺失

【中文标题】PHPExcel - Excel5 - 创建折线图 - 图表缺失【英文标题】:PHPExcel - Excel5 - Create Line Chart - Chart Missing 【发布时间】:2013-10-22 13:56:44 【问题描述】:

拒绝?我确信我不是第一个遇到这个问题的人。

我正在尝试使用 PHPExcel 和 Excel5 库创建图表以生成 '95 格式的 .xls 文件。

除了图表本身的创建/保存外,一切顺利。文件被保存/下载/打开时,PHPExcel 在创建/保存期间或 Excel 在打开文件期间没有任何错误警告。

唯一真正的问题是,在创建的 Excel '95 .xls 文件中看不到图表。

我已检查以确保将 MIME 类型设置为 '95 .xls 格式 application/vnd.ms-excel。是的。

这是与图表创建相关的代码,目前它有点乱,但就像我说的,它就像 2007 版本的魅力:

//ADD THE REPORT SUMMARY CHART
$labels = array(
    new PHPExcel_Chart_DataSeriesValues('String', "'Report Summary'!C1", null, 1),
    new PHPExcel_Chart_DataSeriesValues('String', "'Report Summary'!D1", null, 1)
);
$chrtCols = "'Report Summary'!B2:B$rowNum";
$chrtVals = "'Report Summary'!C2:C$rowNum";
$chrtVals2 = "'Report Summary'!D2:D$rowNum";
$periods = new PHPExcel_Chart_DataSeriesValues('String', $chrtCols, null, $rowNum-1);
$values = new PHPExcel_Chart_DataSeriesValues('Number', $chrtVals, null, $rowNum-1);
$values2 = new PHPExcel_Chart_DataSeriesValues('Number', $chrtVals2, null, $rowNum-1);
$series = new PHPExcel_Chart_DataSeries(
    PHPExcel_Chart_DataSeries::TYPE_LINECHART,       
    PHPExcel_Chart_DataSeries::GROUPING_STANDARD,  
    array(0,1),                                       
    $labels,                                       
    array($periods,$periods),                               
    array($values,$values2)                                  
);
$series->setPlotDirection(PHPExcel_Chart_DataSeries::DIRECTION_COL);
$layout = new PHPExcel_Chart_Layout();

$plotarea = new PHPExcel_Chart_PlotArea($layout, array($series));
$chart = new PHPExcel_Chart('sample', null, null, $plotarea);
$chart->setTopLeftPosition('A1', 24, 24);
$chart->setBottomRightPosition('B18', -24);
$actSheet->addChart($chart);

问题似乎与 '95 版本有关,因为完全相同的代码可用于创建文件的有效 2007 版本(使用 Excel_2007 类而不是 Excel5)。

有什么想法吗?与 Excel_95 相比,Excel_07 中的折线图构造是否不同(或标签定义不同)?我应该添加/修改/删除 $series 数组中的任何其他声明以使图表显示 Excel_95?

是的,我在写入文件之前包含$objWriter->setIncludeCharts(TRUE);

$rowNum 是最后一行数据。

【问题讨论】:

【参考方案1】:

PHPExcel 只支持 Excel2007 读写器的图表;该功能还没有为 Excel5 读写器编写

【讨论】:

嗯,这肯定可以解释为什么它不起作用。哈哈。好东西我在花了几个小时试图自己解决之前在这里发布。再次感谢!附言是否正在为 PHPExcel_5 类开发对 '95 图表的支持,或者 '95 格式是否被认为已过时并且在这一点上浪费代码? 它会及时出现,但目前我仍在完善 PHPExcel 核心中图表结构的细节 是的。当然需要时间。很难想象你有时间通过​​你所做的所有问答来发展。不过对我这样的人来说还是不错的。无论如何,继续做好工作。哦,一个(希望是最终的)后续问题,是否有文档中某处包含的类/函数的参考列表,所以我可以确定我在使用类/函数时添加了正确的变量、空值等或我只需要挖吗? Docs 发行版包括由 phpdocumentor 生成的 /Documents/API 列出类/方法/参数/等 啊哈!甜的。再次感谢。

以上是关于PHPExcel 错误,我是要用PHPExcel从数据库里导出到Excel里面,提示错误~!的主要内容,如果未能解决你的问题,请参考以下文章

PHPExcel导入导出常用方法总结

PHP require include的路径问题

Phpexcel使用

致命错误:PHPExcel 中已用尽的允许内存大小为 134217728 字节

这个是phpexcel导入时出现的错误,有谁遇到过,请告知,谢谢。

PHPExcel导出大量数据超时及内存错误解决方法(转)