首頁 >後端開發 >php教程 >php 将excel导入MySQL 数据库后,如何使得它以文本形式显示

php 将excel导入MySQL 数据库后,如何使得它以文本形式显示

WBOY
WBOY原創
2016-06-23 13:40:26884瀏覽

php 将excel导入MySQL 数据库后,如何使得它以文本形式显示
比如excel里面是  9787509345030
导入数据库之后变成了  9.78750934503E+12
php去读数据库的数据,发现也是9.78750934503E+12
好恼火,求助,心情很复杂。
它好像是数值型的了,我明明是
$number= implode('',explode('-',$data->sheets[0]['cells'][$i][1]));
$number = strval($number);
把它搞成字符串型了,为啥米还是数值型????


回复讨论(解决方案)

你的 9787509345030 在 excel 不是以字符串形式存储的('9787509345030),而是以样式表方式修饰的(不然也是科学计数法表示)
你可以尝试使用 getFormattedValue 方法读取,而不是 getValue 方法读取

你的 $data->sheets[0]['cells'][$i][1] 是有问题的

我在CSDN一个人那里借鉴的写法
                $data = new Spreadsheet_Excel_Reader(); 
$data->setOutputEncoding('utf-8'); 

$data->read($upload_file_name); 

for($i= 2; $isheets[0]['numRows']; $i++)

$user_name = $_SESSION['user_name'];
$book_isbn =   $data->sheets[0]['cells'][$i][1]));
$book_name = $data->sheets[0]['cells'][$i][2];
$book_press = $data->sheets[0]['cells'][$i][3];
                        }
请问你是怎么写的?
格式化读取是怎么写的呢,我看了一下官方给我的php文件,一时没看懂。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn