日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

原声php 读取excel乱码_php读取excel文件,输出的值乱码解决方法

發布時間:2023/12/31 php 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 原声php 读取excel乱码_php读取excel文件,输出的值乱码解决方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PHP code$fname = $_FILES['MyFile']['tmp_name'];//獲取上傳的CSV文件

$handle=fopen("$fname","r");//打開文件

//判斷導入文件類型是否為csv

//如果為csv繼續執行

if($_FILES['MyFile']['type'] !='application/vnd.ms-excel')

{

if($_FILES['MyFile']['type'] != 'text/comma-separated-values')

{

echo "";exit();

}

}

$num = 1;

$total_num = 100;//設置每次添加的數據條數

//刪除表中原有數據

$db->query("delete from hotel_activities_2");

//打開導入的csv

//循環添加到表中

while(!feof($handle))

{

$content = fgets($handle);

$data = preg_split("/,/",$content);

if($data[0] =='')

{

continue;

}

$subHotel_id = preg_replace('/[^0-9]/','',$data[0]);

$subHotel_type= (int)preg_replace('/[^0-9]/','',$data[4]);

if($num == $total_num )

{

$num=1;

$values .= " ($subHotel_id,'".$data[1]."','".$data[2]."','".$data[3]."',$subHotel_type),";

$values = rtrim($values,',');

$sql ="insert into hotel_activities_2 (hotel_id,start_date,end_date,content,s_type) values " .$values;

$aaa = $db->query($sql);

$values ='';

}

else

{

$values .= " ($subHotel_id,'".$data[1]."','".$data[2]."','".$data[3]."',$subHotel_type),";

$num++;

}

}

if(mysql_error!==1){

$values = rtrim($values,',');

$sql ="insert into hotel_activities_2 (hotel_id,start_date,end_date,content,s_type) values " .$values;

$db->query($sql);

echo "";

}else

{

echo "";

}

fclose($handle);

------解決方案--------------------

在 csv 格式標準中:字符串是需要用雙引號括起的,但微軟的工具軟件卻偏偏不加這個雙引號

在 php5.3 以前的版本中,php 也認同這種做法

但自 php5.3 起,微軟擺出了不合作姿態,于是 fgetcsv 也就殘廢了

------解決方案--------------------

讀取excel數據要用到一個插件,直接這樣讀取肯定是不行的。

下面這個是將ecxcel數據讀取到數據庫的方法:

7.$handle = fopen (”test.csv”,”r”);

8.$sql=”insert into scores(idcard,names ,num,sex,nation,score) values(’”;

9.while ($data = fgetcsv ($handle, 1000, “,”)) {

10.$num = count ($data);

11.for ($c=0; $c < $num; $c++) {

12.if($c==$num-1){$sql=$sql.$data[$c].”‘)”;break;}

13.$sql=$sql.$data[$c].”‘,’”;

14.}

15.print “< br>”;

16.echo $sql.”< br>”;

17.$db->query($sql);

18.echo “SQL語句執行成功!< br>”;

19.$sql=”insert into scores(idcard,names ,num,sex,nation,score) values(’”;

20.}

21.fclose ($handle);

22.$time_end = getmicrotime();

總結

以上是生活随笔為你收集整理的原声php 读取excel乱码_php读取excel文件,输出的值乱码解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。