`

phpexcel导出文件或者文件扩展名不一致 或 导出的文件或文件扩展名无效

阅读更多

我们在引入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,导出的数据都没有问题。

分享到:
评论

相关推荐

    phpexcel导出多个工作表.zip

    在PHP开发中,有时我们需要将大量数据导出为Excel文件,以便用户进行分析或进一步处理。在这种场景下,`PHPExcel`库是一个非常实用的工具。`PHPExcel`允许开发者创建、读取和修改Excel文件,包括生成多个工作表,每...

    phpexcel导出工作薄

    以上代码将在当前目录下生成一个名为`output.xlsx`的文件,包含我们之前设置的工作簿数据。如果需要在浏览器中直接下载,可以使用以下代码: ```php header('Content-Type: application/vnd.openxmlformats-...

    thinkphp3.2.3整合phpexcel导出功能

    虽然ThinkPHP3.2.3不直接支持Composer,但你可以通过在项目外部使用Composer安装PHPExcel,然后将生成的vendor目录复制到ThinkPHP的Vendor目录下。这样可以更方便地管理和更新PHPExcel库。 通过以上步骤,你可以在...

    phpexcel 导入导出,html格式导出

    在IT行业中,PHPExcel是一个广泛使用的库,专为处理Microsoft Excel文件而设计。它允许开发者在PHP环境中读取、写入和操作Excel文件,从而实现数据的导入和导出功能。在您的项目中,您提到的重点是“phpexcel导入...

    phpexcel之mpdf扩展

    而当我们需要将数据导出为PDF格式时,单纯使用PHPExcel是不够的,这时就需要引入第三方扩展——mpdf。这个扩展能够帮助我们在ThinkPHP框架下将处理好的数据转换成高质量的PDF文档。 MPDF是一个用PHP编写的开源类库...

    phpExcel导出大量数据.docx

    PHPExcel库允许开发者创建、读取和修改各种Excel文件,非常适合进行大数据量的表格导出。 在提供的代码片段中,我们看到一个名为`down_report_jl()`的函数,用于结算记录的导出。首先,这个函数通过设置`set_time_...

    phpExcel导出大量数据出现内存溢出错误的解决方法

    在处理大数据量的Excel文件时,使用phpExcel工具进行数据导出是一个常见的任务。然而,在这个过程中,开发者经常面临内存溢出错误的问题。这主要是因为phpExcel在内存中保存单元格信息,当数据量大时,内存消耗超过...

    ThinkPHP5的PHPExcel导入导出

    2. **配置引入**:在ThinkPHP5的入口文件或公共函数文件中,引入PHPExcel类库,通常使用`require_once 'vendor/autoload.php';`来自动加载所有依赖。 3. **创建控制器**:在ThinkPHP5的控制器层,创建一个处理导入...

    phpExcel 导入导出带图片的excel表格

    需要注意的是,由于`phpExcel`对大型或复杂Excel文件的处理可能较慢,且不支持某些高级功能,因此在处理大量数据或高复杂度的Excel时,你可能需要考虑其他库,如`phpspreadsheet`(`phpExcel`的升级版)。...

    PHPExcel数据库表导出

    PHPExcel数据库表导出PHPExcel数据库表导出

    phpExcel大数据导出

    phpExcel 导出方法,可支持大数据导出,最大数据为各个系统文件最大容量,我在项目中常用到的

    php实现利用phpexcel导入导出数据至excel

    php5.4环境下的 PHPExcel-1.8 使用,只要 Classes下的文件,并改名为 phpexcel 1,建立mysql数据库,把excel_demo.sql导入到你的数据库,采取utf-8编码; 2,导入时候请按照xls/demo.xls的格式导入,在linux系统下 ...

    使用PHPExcel导入导出excel格式文件

    在IT行业中,处理数据是日常任务之一,而Excel作为广泛使用的电子表格软件,其格式的导入与导出功能对于数据的交互和分析至关重要。本文将深入探讨如何使用PHPExcel库来实现PHP环境中对Excel文件的读取和写入操作。 ...

    PHPExcel导出表格数据

    例如,你可能有一个包含用户信息的数据库表,你可以查询这些数据,然后使用PHPExcel将它们导出为Excel文件供用户下载。 `PHPExcel.php`文件是PHPExcel库的核心文件,包含了类定义和其他必要的功能。在实际项目中,...

    PHPExcel导入导出插件

    在处理Excel文件时,可能会遇到文件损坏、编码问题或格式不支持等错误。了解如何捕获并处理这些错误是必要的,同时利用PHP的错误日志和调试工具能帮助定位和解决问题。 通过掌握上述知识点,你将能够有效地利用...

    PHPExcel PHP导出excel

    php导出excel文档,相关代码组建,已经测试通过了。可共学习使用。

    完美解决phpexcel导出到xls文件出现乱码的问题

    以下是一个具体的解决方案,用于解决使用PHPExcel导出到.xls文件时出现的乱码问题。 首先,确保已经正确安装了PHPExcel库。在示例代码中,我们看到`include 'global.php';`,这意味着全局配置文件已经被引入,其中...

    Thinkphp 3.2利用phpexcel将数据通过excel导出

    下面,我们将深入探讨如何在ThinkPHP 3.2中使用PHPExcel将数据导出到Excel文件。 首先,我们需要了解PHPExcel库。PHPExcel是一款开源的PHP类库,用于读取和写入多种Excel文件格式,包括.BIFF(Excel 97-2003)和....

    xiabeifeng#study-notes#使用PHPExcel导出excel文件某些数据丢失1

    使用PHPExcel导出Excel文件某些数据丢失做基于微信公众号的Web开发的时候,系统中可能会将用户的微信昵称存储下来,并且可能需要在导出的Excel文件中

Global site tag (gtag.js) - Google Analytics