XLS内容类型

我的Laravel 4.2 php项目已导出为ex​​cel功能,该功能在桌面上工作,但完全不适用于移动设备。 我正在保存带有“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

下一篇: Open Excel files on a remote computer