要被PHP搞疯!!!使用COM读写EXCEL文件的问题。

rocsoar 2003-05-23 05:03:17
唉,真的快要疯了。
可以打开一个文件写,却不能读文件。
并且在打开文件写的程序中,设置可见相当于白写。考,不明白。
...全文
183 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
rocsoar 2003-05-27
  • 打赏
  • 举报
回复
目前还有一个问题:
在MSDN中的代码,转换到PHP中,为何一点反应都没有呢???
再次强烈郁闷。
譬如下面一段代码。

MSDN里的:
With Charts("Chart1")
.HasTitle = True
.ChartTitle.Text = "First Quarter Sales"
End With

我转换成PHP的:

#$co = $sheets->ChartObjects->Add(0, 0, 500, 400);
$co = $wkb->Charts->Add();
$co->HasTitle = True;
$co->ChartTitle->Text = "First Quarter Sales";

请问有没有对这方面比较熟悉的,我的目的是要做一个chart,chart中series的数量,每个series的值以及其name都是动态从另外一个Sheet中取得的,请问如何用PHP语句实现?
我无论如何也不能把MSDN中的语句转换到PHP中来?再次郁闷。。。。。。
rocsoar 2003-05-27
  • 打赏
  • 举报
回复
to all:
昨天试验的结果是:
如果用这一句:
$exapp = new COM("Excel.application") or Die ("Did not connect");
则不能打开文件。
但是如果把这句话改成:
$exapp = new COM("Excel.sheet") or Die ("Did not connect");

就可以打开文件了,但是,目前只能操作一次,无论是重启Apache还是在windows里logout,第二次都不能再进行这样的操作了。除非重启服务器。

全部代码如下:
<pre>
<?php
$workbook = "C:\\web\\test.xls";
$sheet = "test";
$ex = new COM("Excel.sheet") or Die ("Did not connect");
$wkb = $ex->application->Workbooks->Open($workbook) or Die ("Did not open");
$ex->Application->Visible = 1;
$sheets = $wkb->Worksheets($sheet); #Select the sheet
$sheets->activate; #Activate it
$cell = $sheets->Cells(3,1) ; #Select the cell (Row Column number)
$cell->activate; #Activate the cell
print "Old Value = {$cell->value}"; #Print the value of the cell:10000
$cell->value = 15000; #Change it to 15000
print "New value = {$cell->value}";#Print the new value=15000
$sheets->Calculate;
$cell = $sheets->Cells(13,5) ; #Select the cell (Row Column number)
$number = Number_format($cell->value);
print "New Total cost =$$number - was ,732 before.";
$ex->application->ActiveWorkbook->Close("False");
$ex->Quit();
unset($ex);
?>
</pre>
这段代码可以打开已经存在的excel文件,并且可以进行读写操作。
kuanghu 2003-05-27
  • 打赏
  • 举报
回复
你php环境配置?参数提供出来
rgbahnh 2003-05-27
  • 打赏
  • 举报
回复
有没有被锁定
rocsoar 2003-05-26
  • 打赏
  • 举报
回复
回cdljsj(拼命三郎冬冬):
试过,就是上面一段代码,没有错误提示,只是直打印了一个结果:
Did not open the sheet

不知是为何出此错。
jszcy 2003-05-26
  • 打赏
  • 举报
回复
帮你up!
cdljsj 2003-05-23
  • 打赏
  • 举报
回复
我试过了,如果$ws设置没有问题的话,工作一切正常,可以将excel打开.打不开也会有错误报告呀,如果还有问题,将程序或excel的错误提示写下来
rocsoar 2003-05-23
  • 打赏
  • 举报
回复
谁能告诉我,为什么这段代码不能打开test.xls????

<?
$exapp = new COM("Excel.application") or Die ("Did not connect");
$wk = "C:/web/test.xls";
$ws = "test";
$cs = "Daily SMS Usage";
$wkb = $exapp->application->Workbooks->Open($wk) or Die ("Did not open workbook");
$sheets = $wkb->Worksheets($ws) or Die("Did not open the sheet");
$exapp->Visible = 1;
$sheets->activate;
?>
rocsoar 2003-05-23
  • 打赏
  • 举报
回复
晕,写错,是可以新建一个文件写,却不能打开一个已有的文件进行操作。

21,887

社区成员

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

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