我们在引入phpcxcel类库中进行导出数据的excel文件,结果出现打开的文件和扩展名不一致,或者打开的文件和文件扩展名无效,这时候我们该如何处理呢?
如下是导出的函数(自定义):
public function exportExcel($expTitle,$expCellName,$expTableData,$fileName=""){
$xlsTitle = iconv('utf-8', 'gb2312', $expTitle);//文件名称
$fileName = $fileName.'_'.time().date('_YmdHis');//or $xlsTitle 文件名称可根据自己情况设定
$cellNum = count($expCellName);
$dataNum = count($expTableData);
$objPHPExcel = new \PHPExcel();
$objPHPExcel->getProperties()->setCreator("ctos")
->setLastModifiedBy("ctos")
->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");
$cellName = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','AL','AM','AN','AO','AP','AQ','AR','AS','AT','AU','AV','AW','AX','AY','AZ');
$objPHPExcel->getActiveSheet(0)->mergeCells('A1:'.$cellName[$cellNum-1].'1');//合并单元格
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', $expTitle.' Export time:'.date('Y-m-d H:i:s'));
for($i=0;$i<$cellNum;$i++){
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$i].'2', $expCellName[$i][1]);
}
// Miscellaneous glyphs, UTF-8
for($i=0;$i<$dataNum;$i++){
for($j=0;$j<$cellNum;$j++){
$objPHPExcel->getActiveSheet(0)->setCellValue($cellName[$j].($i+3), $expTableData[$i][$expCellName[$j][0]]);
}
}
ob_end_clean();//清除缓冲区,避免乱码
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$fileName.'.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
}
通过如上的代码我们发现ob_end_clean();//清除缓冲区,避免乱码,需要我们导出函数中添加此函数,还有头部处理,可以使用excel5或者excel2007,导出的数据都没有问题。
相关推荐
在PHP开发中,有时我们需要将大量数据导出为Excel文件,以便用户进行分析或进一步处理。在这种场景下,`PHPExcel`库是一个非常实用的工具。`PHPExcel`允许开发者创建、读取和修改Excel文件,包括生成多个工作表,每...
以上代码将在当前目录下生成一个名为`output.xlsx`的文件,包含我们之前设置的工作簿数据。如果需要在浏览器中直接下载,可以使用以下代码: ```php header('Content-Type: application/vnd.openxmlformats-...
虽然ThinkPHP3.2.3不直接支持Composer,但你可以通过在项目外部使用Composer安装PHPExcel,然后将生成的vendor目录复制到ThinkPHP的Vendor目录下。这样可以更方便地管理和更新PHPExcel库。 通过以上步骤,你可以在...
在IT行业中,PHPExcel是一个广泛使用的库,专为处理Microsoft Excel文件而设计。它允许开发者在PHP环境中读取、写入和操作Excel文件,从而实现数据的导入和导出功能。在您的项目中,您提到的重点是“phpexcel导入...
而当我们需要将数据导出为PDF格式时,单纯使用PHPExcel是不够的,这时就需要引入第三方扩展——mpdf。这个扩展能够帮助我们在ThinkPHP框架下将处理好的数据转换成高质量的PDF文档。 MPDF是一个用PHP编写的开源类库...
PHPExcel库允许开发者创建、读取和修改各种Excel文件,非常适合进行大数据量的表格导出。 在提供的代码片段中,我们看到一个名为`down_report_jl()`的函数,用于结算记录的导出。首先,这个函数通过设置`set_time_...
在处理大数据量的Excel文件时,使用phpExcel工具进行数据导出是一个常见的任务。然而,在这个过程中,开发者经常面临内存溢出错误的问题。这主要是因为phpExcel在内存中保存单元格信息,当数据量大时,内存消耗超过...
2. **配置引入**:在ThinkPHP5的入口文件或公共函数文件中,引入PHPExcel类库,通常使用`require_once 'vendor/autoload.php';`来自动加载所有依赖。 3. **创建控制器**:在ThinkPHP5的控制器层,创建一个处理导入...
需要注意的是,由于`phpExcel`对大型或复杂Excel文件的处理可能较慢,且不支持某些高级功能,因此在处理大量数据或高复杂度的Excel时,你可能需要考虑其他库,如`phpspreadsheet`(`phpExcel`的升级版)。...
PHPExcel数据库表导出PHPExcel数据库表导出
phpExcel 导出方法,可支持大数据导出,最大数据为各个系统文件最大容量,我在项目中常用到的
php5.4环境下的 PHPExcel-1.8 使用,只要 Classes下的文件,并改名为 phpexcel 1,建立mysql数据库,把excel_demo.sql导入到你的数据库,采取utf-8编码; 2,导入时候请按照xls/demo.xls的格式导入,在linux系统下 ...
在IT行业中,处理数据是日常任务之一,而Excel作为广泛使用的电子表格软件,其格式的导入与导出功能对于数据的交互和分析至关重要。本文将深入探讨如何使用PHPExcel库来实现PHP环境中对Excel文件的读取和写入操作。 ...
例如,你可能有一个包含用户信息的数据库表,你可以查询这些数据,然后使用PHPExcel将它们导出为Excel文件供用户下载。 `PHPExcel.php`文件是PHPExcel库的核心文件,包含了类定义和其他必要的功能。在实际项目中,...
在处理Excel文件时,可能会遇到文件损坏、编码问题或格式不支持等错误。了解如何捕获并处理这些错误是必要的,同时利用PHP的错误日志和调试工具能帮助定位和解决问题。 通过掌握上述知识点,你将能够有效地利用...
php导出excel文档,相关代码组建,已经测试通过了。可共学习使用。
以下是一个具体的解决方案,用于解决使用PHPExcel导出到.xls文件时出现的乱码问题。 首先,确保已经正确安装了PHPExcel库。在示例代码中,我们看到`include 'global.php';`,这意味着全局配置文件已经被引入,其中...
下面,我们将深入探讨如何在ThinkPHP 3.2中使用PHPExcel将数据导出到Excel文件。 首先,我们需要了解PHPExcel库。PHPExcel是一款开源的PHP类库,用于读取和写入多种Excel文件格式,包括.BIFF(Excel 97-2003)和....
使用PHPExcel导出Excel文件某些数据丢失做基于微信公众号的Web开发的时候,系统中可能会将用户的微信昵称存储下来,并且可能需要在导出的Excel文件中