
正文
php导入cvs数据 php 导出csv
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
phpxls部分行转csv
phpxls部分行转csv步骤如下:
1、创建一个php示例文件,导入“PHPExcel.php”。
2、接着把所有xls文件列出列表,勾选提交到“$_POST”。
3、通过getCsv方法将xls转为csv即可。
相关问答
Q1: php如何读取CSV大文件并且将其导入数据库示例
思路:
读取csv文件,每读取一行数据,就插入数据库
示例
文件夹结构
/
file.csv //csv大文件,这里只模拟三行数据,不考虑运行效率(PS:csv文件格式很简单,文件一般较小,解析很快,运行效率的瓶颈主要在写入数据库操作)
index.php //php文件
file.csv
singi,20
lily,19
daming,23
index.php
/**
* 读取csv文件,每读取一行数据,就插入数据库
*/
//获取数据库实例
$dsn = 'mysql:dbname=test;host=127.0.0.1';
$user = 'root';
$password = '';
try {
$db = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e-getMessage();
}
//读取file.csv文件
if (($handle = fopen("file.csv", "r")) !== FALSE) {
while (($row = fgetcsv($handle, 1000, ",")) !== FALSE) {
//写入数据库
$sth = $db-prepare('insert into test set name=:name,age=:age');
$sth-bindParam(':name',$row[0],PDO::PARAM_STR,255);
$sth-bindParam(':age',$row[1],PDO::PARAM_INT);
$sth-execute();
}
fclose($handle);
}
数据表
CREATE TABLE `test` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NULL DEFAULT '' COLLATE 'utf8mb4_bin',
`age` INT(10) NULL DEFAULT '0',
PRIMARY KEY (`id`)
)
COLLATE='utf8mb4_bin'
ENGINE=InnoDB;
运行结束后,数据库中会插入csv中的三行数据
Q2: php导入csv文件输出是乱码,怎么解决
//这是我前几天回答过的一个问题下面以读取淘宝csv文件为例
if($result){ //如果上传成功了,这是文件路径
if (!($handle = fopen_utf8($result, "r")) === FALSE){ //调取下边函数fopen_utf8;
$errorArr = array();
$i=0;
while (($cols = fgetcsv($handle, 1000, "\t")) !== FALSE) {
++$i;
if($i4) continue;
$taobaolmsx = $cols[21];//宝贝属性;
$taobaoxxsx = $cols[30];//销售属性;
$goodsBn = $cols[33];//商家编码;
}
fclose($handle);
}
unlink($result);
}else{
echo 'file upload error';exit;
}
/*读取csv文件用 */
function fopen_utf8($filename){
$encoding='';
$handle = fopen($filename, 'r');
$bom = fread($handle, 2);
rewind($handle);
if($bom === chr(0xff).chr(0xfe) || $bom === chr(0xfe).chr(0xff)){
// UTF16 Byte Order Mark present
$encoding = 'UTF-16';
} else {
$file_sample = fread($handle, 1000) + 'e'; //read first 1000 bytes
// + e is a workaround for mb_string bug
rewind($handle);
$encoding = mb_detect_encoding($file_sample , 'UTF-8, UTF-7, ASCII, EUC-JP,SJIS, eucJP-win, SJIS-win, JIS, ISO-2022-JP');
}
if ($encoding){
stream_filter_append($handle, 'convert.iconv.'.$encoding.'/UTF-8');
}
return ($handle);
}
Q3: phpadmin怎么导入cvs文件
phpmyadmin 导入 csv 的用户界面如下图:
以下是相关的注意事项及说明:
1、关于 CSV 和 CSV using LOAD DATA
这两种都可以导入CSV格式的文件数据,区别在于:当文件比较大时用 CSV 可能 script 会超时,这时就得使用 LOAD DATA。
2、列名
列名就是你在导出时打钩的“将字段名称放在首行”,实际就是用分隔符分开的字段名集合,就是填写所有字段名,中间用分隔字段的字符隔开。
3、Ignore duplicate rows
这个选项的作用是忽略相同的行,意为相同的行只导入一行数据。4、转义字段的字符是指数据里面可能含有特殊字符串,如分隔字段的字符、包裹字段的字符还有SQL保留字符,这些得先转义否则会出错,按默认的设置是没什么问题的。
Q4: thinkphp里面导入csv数据出现乱码怎么破
php读取csv文件,在windows上出现中文读取不到的情况,本人立马想到一个函数mb_convert_encoding();作如下设置 $str = mb_convert_encoding($str, "UTF-8", "GBK");然后就可以了。当然你也可以用iconv();作如下设置iconv(‘GBK’,”UTF-8//TRANSLIT//IGNORE”,$str);这两个函数来解决在windows上面发生乱码的问题。
php导入cvs数据的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php 导出csv、php导入cvs数据的信息别忘了在本站进行查找喔。







