欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-04-25 22:26:45
...
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文件,一时没看懂。