php的导入导出需要扩展吗,PHP导入excel表格,不使用扩展包,简单高效

本文探讨了使用PHP内置file_get_contents函数读取Excel文件,将其转换为数组进行操作的方法,与使用扩展包性能对比。通过实例展示了如何处理文件内容,以及可能的导出操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用php的file_get_contents()方法直接读取excel文件,将获得一个excel内容的字符串,然后根据换行进行打散为数组,再进行逗号分割,结果就是一个数组,可以进行任何操作。导出应该也可以使用这种方法,不知道性能是否比使用扩展包要快,还没有实践过。

3106479320.png/**

* 下面是使用laravel框架的示例

*/

if ($request->isMethod('POST')) {

$file=$request->file('file');

if (!$file->isValid()) {

return response()->json([

'code' => 1,

'msg' => "上传文件不合法"

]);

}

//获取文件名称

$filename = $file->getClientOriginalName();

if (empty($filename)) {

$this->err = '未找到文件名称';

return false;

}

if (!in_array($file->getClientOriginalExtension(),['csv','xlsx','xls'])) {

return response()->json([

'code' => 1,

'msg' => "只支持文件格式('csv','xlsx','xls')"

]);

}

$data = [];

$content = file_get_contents($file->getRealPath());

$fileType = mb_detect_encoding($content , array('UTF-8','GBK','LATIN1','BIG5'));//获取当前文本编码格式

$content = mb_convert_encoding($content ,'utf-8' , $fileType);

$strs = explode("\n", $content);

array_pop($strs);

array_shift($strs);

foreach ($strs as $key => $v) {

$res = explode(',',$v);

//TODO 进行相关操作

dump($res);

}

return response()->json([

'code' => 0,

'msg' => '成功',

'data' => $data

]);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值