我正在尝试使用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;
?>
有人能说出解决方法吗?
答案 0 :(得分:0)
Excel无法打开文件'filename.xlsx',因为的文件格式 文件扩展名无效。验证文件是否 已损坏且文件扩展名与文件格式相符。
但是,此错误消息不仅限于用户通过电子邮件获取的Excel文件。相反,它也常常遇到常用文件。您可能会发现,当您尝试打开它时,他们长时间工作的Excel工作簿会突然开始抛出此错误消息。
要找出与此错误消息相关联的唯一编号,请同时按“CTRL + SHIFT + I”。之后,除了错误消息之外,您还会得到以下数字:
“101590”
在以下情况下遇到此错误消息:
<强>原因:强>
解决方案:您可以尝试以下提及的解决方案来纠正此错误消息并重新获得对Excel工作表的访问权。
更改Excel工作表的文件扩展名:
有时会出现问题,原因是Excel文件的文件扩展名不受支持。要检查xlsx扩展的支持,请转到“我的电脑”。浏览'工具&gt;&gt;文件夹选项&gt;&gt;文件类型'。检查是否包含'xlsx'扩展名。如果没有,则重命名此文件并将“.xlsx”更改为“.xls”。
使用MS Excel的“打开并修复”选项:
为此,打开Excel,然后转到'文件&gt;&gt;打开'。选择要打开的文件,但不要双击它。转到“打开”对话框中提供的“打开”下拉列表,然后从那里选择“打开并修复”选项。此过程修复损坏的Excel工作表并正常打开它。
Excel恢复软件:
如果上述决议都不能满足您的要求,建议使用Excel修复软件。 Stellar Phoenix Excel Repair就是这样一款软件。它修复损坏的Excel工作表并恢复存储在其中的整个数据,而不会更改其原始格式。
您可以尝试上述任何一种解决方案来纠正此问题 错误消息:但是,Excel修复软件最适合 其他两种方法无法满足你的情况。