日期:2014-05-17  浏览次数:20390 次

用php 解析execl 的问题? + 急急急急急急
我php 解析execl 我用的是 php-excel-reader 工具 来解析的,但是 我现在的情况是这样的
问题一:我在读取execl 时发现读取出来的 execl 里面带有星号( * ) ,所以在存入数据库时,也是
有星号的,我想的办法是 将读取出来的星号,用空格代替,但是在存入数据库时,还是不行,不知道是不是我
的替代的位置写的不对。。

问题二:重点
客户给出的execl 里面分上下2 部分,上面 是一张表中的数据,下面是另一张表中的数据,所以就是下解析这儿execl 时,要将这execl 上面的数据 对应的存到对应的表中,下面的内容,存到对应的表中,就是说

execl :

上面 :A 表的内容

下面 :B 表的内容

现在要将execl 里面解析到的数据 ,对应的存入到对应的表中。。
PHP 解析execl

------解决方案--------------------
不会用php解析excel

不过如果急着用的话,又如果客户给出的excel表数量很有限的话

可以用navicat这个软件直接将表存入数据库 然后再用PHP来操作

我之前就是这样做的,绕开了自己不明白的地方.... 虽然对技术提升不利但是对于追求结果来说挺有效的...

另:navicat的导入功能很强大......
------解决方案--------------------
1)你通过PHP读取excel数据,除去表头的一行数据,那剩下的就是实际数据,根据判断是否有*号,替换就可。
2)你可以将上下表的内容分别存储到两个不同的excel中,分别读取信息即可。
------解决方案--------------------
第二个问题,最好的办法是一个sheet保存一个表的数据,这样导入时比较容易解释。如果实在要在一个sheet里保存两个表的数据,那么也可以定义好分隔条件(比如两个表中间空开2行),然后循环处理行,判断行是否分隔行,分隔行后的就是第二个表的数据了。
------解决方案--------------------
没看明白你的代码,建议:导入的excel表,必须是按规定格式的,而这个格式必须是程序可以解释的,然后在程序中解释成你要的数据就可以了。
------解决方案--------------------
即既没有给出代码,也没给出数据文件
只好做个示例了

$PHPExcel = new PHPExcel_Reader_Excel5();
$sheet = $PHPExcel->load('test1.xls')->getActiveSheet();
$allRow = $sheet->getHighestRow();
for($i=1; $i<=$allRow; $i++) {
  if($sheet->getCell("B$i")->getValue() != '')
     echo $sheet->getCell("B$i")->getValue() . ' : ' . $sheet->getCell("C$i")->getValue(), '<br>';
}
A : 4650000
B : 2480000
C : 2790000
D : 8370000
E : 2790000
F : 26660000

应该能看明白吧?!
------解决方案--------------------