XLS内容类型
我的Laravel 4.2 php项目已导出为excel功能,该功能在桌面上工作,但完全不适用于移动设备。 我正在保存带有“XLS”扩展名和“application / vnd.ms-excel”内容类型的excel文件:
$fn = 'filename.xls';
$filename = storage_path() . '/' . $fn;
App::finish(function($request, $response) use ($filename) {
unlink($filename);
});
$headers = array(....);
$excel = new Excel();
$excel->setTheader($headers);
$excel->addArray(..);
$excel->generateXML($filename);
return Response::download($filename, $fn, array('Content-Type' => 'application/vnd.ms-excel; charset=utf-8'));
所以在我的iPhone上我安装了Microsoft Excel,但是我的手机引发了这个错误:
阅读文档时发生错误
点击“用excel打开”我得到这个:
excel无法打开此工作簿
当我将内容类型更改为
application/octet-stream
excel文件被打开,但像一个文本文件。
我做错了什么,是我的应用程序或手机中的问题?
.xls是XL 2003及更早版本中使用的旧文件类型。 用于桌面的Excel仍支持这些文件类型,并以兼容模式打开它们。 Excel 2007引入了新的基于XML的文件类型。
我怀疑移动版本的Excel会支持7年前已被取代的文件格式。 Mobile Excel没有完整的桌面Excel功能集,兼容模式可能是积压的事情中最不重要的事情。
将您的文件保存为基于XML的xlsx文件。 如果构建正确,这些将在移动Excel上正常工作。
链接地址: http://www.djcxy.com/p/45467.html上一篇: XLS content type