//Excel表格最高支持104W行,导出数据达到上万的量,PHPExcel就显得有点无力了,经常卡死或者内存溢出,若做普通的数据导出功能,建议使用fputcsv()函数,因为此函数要比PHPexcel要高效的多,二十万数据导出大概需要2到3秒。
//xls 文件就是Microsoft excel电子表格bai的文件格式。
//csv是最通用的bai一种文件格式,它可以非常容易地被导入各种PC表格及数据库中。 此文件,一行即为数据表的一行。生成数据表字段用半角逗号隔开。
//csv是文本文件,用记事本就能打开,XLS是二进制的文件只有用EXCEL才能打
public function excel_in(){
try {
header('Content-Type:text/html; charset=utf-8');
//防止超时
set_time_limit(0);
//防止内存溢出
ini_set("memory_limit","512M");
$handle = fopen('public/data.csv', 'r'); //csv文件 在保存时就生成csv 不要直接修改后缀为csv 否则报错
$count = 0;
$data_artificial = array();
while ($data = fgetcsv($handle, 500000, ",")) {
if (isset($data[0]) && !empty($data[0])) {
//排除第一行的表头
if ($count > 0) {
$data_artificial[$count - 1]['goods_code'] = iconv('GBK', 'UTF-8', $data[0]);
$data_artificial[$count - 1]['comment_create_time'] = iconv('GBK', 'UTF-8', $data[1]);
if (empty($data[2]) || $data[2] == '') {
$data_artificial[$count - 1]['nick'] = '**';
} else {
$data_artificial[$count - 1]['nick'] = iconv('GBK', 'UTF-8', $data[2]);
}
if (iconv('GBK', 'UTF-8', $data[3]) == '默认' || $data[3] == '') {
$data_artificial[$count - 1]['head_img'] = 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1562136648716&di=9eef9bea32a5431aae48fce62f55801f&imgtype=0&src=http%3A%2F%2Fpic.51yuansu.com%2Fpic3%2Fcover%2F01%2F69%2F80%2F595f67c042c1b_610.jpg';
} else {
$data_artificial[$count - 1]['head_img'] = iconv('GBK', 'UTF-8', $data[3]);
}
$data_artificial[$count - 1]['evaluate_text'] = iconv('GBK', 'UTF-8', $data[4]);
$data_artificial[$count - 1]['evaluate_material'] = iconv('GBK', 'UTF-8', $data[5]);
$data_artificial[$count - 1]['sku_param_value'] = iconv('GBK', 'UTF-8', $data[6]);
}
$count++;
}
ob_flush();
flush();
}
fclose($handle);
$result = $this->artificial_evaluate_material_model->insert_batch($data_artificial);
if ($result) {
$res = array('statusCode' => 200, 'message' => '导入成功!');
echo json_encode($res);
exit();
} else {
$params = array('statusCode' => 'TY002', 'message' => '导入失败!');
echo json_encode($params);
exit();
}
}catch(Exception $e){
print $e->getMessage();
exit();
}
}
php中将.csv导入数据表中
最新推荐文章于 2023-09-24 09:00:00 发布