用php读取excel,并将结果写入mysql, 怎么做呢?

ImFantasy 2009-01-22 10:25:55

<?php
setlocale(LC_ALL, 'zh_CN');
$row = 1;
$handle = fopen("xxx.csv","r");
while ($data = fgetcsv($handle, 1000, ",")) {
$num = count($data);
echo "<p> $num fields in line $row: <br>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br>\n";
}
}
fclose($handle);
?>



上面这个代码是 用php读取CSV文件的。 请问有其他的方法吗?








在论坛看到一个朋友发的这个代码




<?php
$workbook = "D:\\www\\xtwh\\B01\\mysingle.xls";

$sheet = "list";

#实例化一个组件的对象
$ex = new COM("Excel.sheet") or Die ("Did not connect");

#打开工作本使我们可使用它
$wkb = $ex->application->Workbooks->Open($workbook) or Die ("Did not open");

#读单元格数据
$sheets = $wkb->Worksheets($sheet); #Select the sheet
$sheets->activate; #Activate it
//$cell->activate; #Activate the cell .If this, you can modify the cell data.


for($i=2;$i<=2501;$i++)
{
$a=$sheets->Cells($i,A); if($a->value == "last") break;

$b=$sheets->Cells($i,B); $bp[]=$b->value;
$c=$sheets->Cells($i,C); $cp[]=$c->value;
$d=$sheets->Cells($i,D); $dp[]=$d->value;
$e=$sheets->Cells($i,E); $ep[]=$e->value;
$f=$sheets->Cells($i,F); $fp[]=$f->value;
$g=$sheets->Cells($i,G); $gp[]=$g->value;
$h=$sheets->Cells($i,H); $hp[]=$h->value;
}

$ex->application->ActiveWorkbook->Close("False");
unset ($ex);

require_once("../../conn.php");
$sql0="DELETE FROM `newyonghu`";
$result0=mysql_query($sql0,$mylink);
mysql_free_result($result0);

for($i=0;$i<count($bp);$i++)
{
$sql="INSERT INTO `newyonghu` (`name`, `dept`, `team`, `group01`, `position`, `mingzi`, `single`, `info`) VALUES ('".$bp[$i]."', '".$fp[$i]."', '".$dp[$i]."', '".$ep[$i]."', '".$gp[$i]."', '".$cp[$i]."', '".$hp[$i]."', 'single');";
$result=mysql_query($sql,$mylink);
}
echo "<script language=\"Javascript\">";
echo "window.close()";
echo "</script>";

mysql_free_result($result); //释放结果内存资源
mysql_close($mylink); // 断开连接

?>




这个是他说的


通过php将excel导到mysql后,页面显示没有找到网页?如何解决?
我跟据网上的代码写的。共有1000笔记录,数据也导到了mysql。非常奇怪!我对com一点也不了解。




到底该怎么做呢
...全文
979 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
test-20131128 2010-10-21
  • 打赏
  • 举报
回复
又是COM组件 看着就头疼
胡争辉 2009-01-22
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ImFantasy 的回复:]
那是相当的浪费。 玩不起。 呵呵
[/Quote]
Linux下用OpenOffice.org处理
ImFantasy 2009-01-22
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 jakey9826 的回复:]
引用 2 楼 ImFantasy 的回复:
如果服务器是linux的 能用MS的这个组件吗?

com COM::COM ( string $module_name [, mixed $server_name [, int $codepage [, string $typelib]]] )
是可以的,不过你要有一个运行com的windows服务器,在linux服务器上需要运行com的地方,找定这台服务器.
手册上讲,如果在指定的com服务器上找不到的话,则运行本地服务器上的,很显示,你本地没有com,所以就不行了.

手册上说的,理…
[/Quote]



那是相当的浪费。 玩不起。 呵呵
程序猿之殇 2009-01-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ImFantasy 的回复:]
如果服务器是linux的 能用MS的这个组件吗?
[/Quote]
com COM::COM ( string $module_name [, mixed $server_name [, int $codepage [, string $typelib]]] )
是可以的,不过你要有一个运行com的windows服务器,在linux服务器上需要运行com的地方,找定这台服务器.
手册上讲,如果在指定的com服务器上找不到的话,则运行本地服务器上的,很显示,你本地没有com,所以就不行了.

手册上说的,理论上是可以的,但具体还要你自己来尝试.

不过提供一个com的服务器,还真是有点浪费,哈哈.
ImFantasy 2009-01-22
  • 打赏
  • 举报
回复
linux下面有什么方法用php读取excel呢?
frederic_zhao 2009-01-22
  • 打赏
  • 举报
回复
COM函数仅可用于PHP的Windows版本!
胡争辉 2009-01-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ImFantasy 的回复:]
如果服务器是linux的 能用MS的这个组件吗?
[/Quote]
不能
ImFantasy 2009-01-22
  • 打赏
  • 举报
回复
如果服务器是linux的 能用MS的这个组件吗?
程序猿之殇 2009-01-22
  • 打赏
  • 举报
回复
Excel.sheet组件是ms提供的标准com组件,你可以到msdn上找到组件的使用方法,了解一下工作原理.


通过php将excel导到mysql后,页面显示没有找到网页?如何解决?
==========================================
将数据导放到mysql后,就是php和mysql之间的关系了.不知道你这为啥找不到网页!
makui 2009-01-22
  • 打赏
  • 举报
回复
Excel的文件格式
http://sc.openoffice.org/excelfileformat.pdf
PEAR中相应工具类,我粗步看了一下,是用操作二进制的方式读写方式来操作的Excel(不是用com),所以应该就不存在平台的问题
http://pear.php.net/manual/en/package.fileformats.spreadsheet-excel-writer.php
lonelyriver 2009-01-22
  • 打赏
  • 举报
回复
关注

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧