3

我正在尝试使用 CakePHP 2.5.4 将我的数据库信息导出到 Excel。但是,Excel 无法打开生成的文件myfilename.xlsx。给出的错误是:“文件格式或文件扩展名无效。验证文件未损坏并且文件扩展名与文件格式匹配”。

我使用以下代码在我的控制器中搜索数据并导出到 Excel:

<?php
$this->PhpExcel->createWorksheet(); 
$this->PhpExcel->setDefaultFont('Calibri', 12); 

// define table cells 
$table = array( 
    array('label' => __('Name'), 'width' => 'auto', 'filter' => true), 
    array('label' => __('Email'), 'width' => 'auto'), 
    array('label' => __('Second Email'), 'width' => 'auto'), 
    array('label' => __('Third Email'), 'width' => 'auto'),  

); 

// heading 
$this->PhpExcel->addTableHeader($table, array('name' => 'Cambria', 'bold' => true)); 

// data 
foreach ($data as $d) { 

    //if($d['Applicant']['name'] != '(NO BORRAR!!!!!)'){
        $this->PhpExcel->addTableRow(array( 
            $d['Applicant']['name'],
            $d['Applicant']['mail'],
            $d['Applicant']['mail2'],
            $d['Applicant']['mail_mother']
        )); 
    //}
} 

$this->PhpExcel->addTableFooter(); 
$this->PhpExcel->output(); 
exit;
?>

谁能告诉解决方法?

4

1 回答 1

0

Excel 无法打开文件“filename.xlsx”,因为 文件扩展名的文件格式无效。验证文件没有 损坏并且文件扩展名与文件格式匹配。

但是,此错误消息不仅限于用户通过电子邮件获得的 Excel 文件。相反,它也经常遇到常用文件。您可能会发现他们在其上工作了很长时间的 Excel 工作簿在您尝试打开它时突然开始抛出此错误消息。

要找出与此错误消息关联的唯一编号,请同时按“CTRL+SHIFT+I”。之后,除了错误消息之外,您还会收到以下数字:

“101590”

在以下情况下会遇到此错误消息:

原因:

  1. 该文件与使用的 Excel 版本不兼容。
  2. 他的文件已损坏。

解决方案:您可以尝试以下提到的解决方案来纠正此错误消息并重新获得对 Excel 工作表的访问权限。

更改 Excel 工作表的文件扩展名:

有时,由于 Excel 文件的文件扩展名不受支持,会出现问题。要检查对 xlsx 扩展的支持,请转到“我的电脑”。浏览“工具>>文件夹选项>>文件类型”。检查是否包含“xlsx”扩展名。如果不是,则重命名此文件并将“.xlsx”更改为“.xls”。

在此处输入图像描述

使用 MS Excel 的“打开和修复”选项:

为此,打开 Excel,然后转到“文件>>打开”。选择要打开的文件,但不要双击它。转到“打开”对话框中提供的“打开”下拉菜单,然后从那里选择“打开和修复”选项。此过程修复损坏的 Excel 工作表并正常打开它。

在此处输入图像描述

Excel 恢复软件:

如果上述解决方案都无法满足您的任何需求,则建议使用 Excel 修复软件。Stellar Phoenix Excel Repair 就是这样一款软件。它修复损坏的 Excel 表并恢复存储在其中的整个数据,而不会更改其原始格式。

您可以尝试上述任何一种解决方案来纠正此错误消息:但是,Excel 修复软件最适合其他两种方法对您没有任何帮助的情况。

于 2015-02-22T07:28:37.050 回答