各位大哥,帮我看看到底是怎么回事吧,我都急死了!

zalvsa 2002-09-25 01:53:35
我写了下面这段
<?php
//$workbook = "SOLVSAMP.XLS";
$workbook="test.xls";
$sheet = "Sheet1";
//$sheet="Product Mix";
$ex = new COM("Excel.sheet") or Die ("连不上!!!");
$book = $ex->application->Workbooks->Open($workbook) or Die ("打不开!!!");
$sheets = $book->Worksheets($sheet);
$sheets->activate;
$cell = $sheets->Cells(5,5);
$cell->activate;
$cell->value = 999;
$ex->Application->ActiveWorkbook->SaveAs("newtest.xls");
$ex->Application->ActiveWorkbook->Close("False");
unset ($ex);
?>
怎么会提示:
Warning: Invoke() failed: 发生意外。 Source: Microsoft Excel Description: Microsoft Excel 无法找到“test.xls”。请检查工作簿名称的拼写,并确认文件位置是否正确。 如果是从最近使用的文件列表中选择的文件名,请确认文件未被重命名、移动或删除。 in c:\myweb\ceshi\excelwrite.php on line 7
打不开!!!

而实际上该文件是存在的,我几次修改了那个test.xls的文件名和路径都提示这个错误,为什么会这样啊!!!!!
...全文
70 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
goodname 2002-10-10
  • 打赏
  • 举报
回复
你得首先确定当前路径是什么,然后根据当然路经计算想对路经
zalvsa 2002-10-09
  • 打赏
  • 举报
回复
excel文件的打开,保存路径可以写成相对路径吗?!!!
zalvsa 2002-10-05
  • 打赏
  • 举报
回复
可以写成相对路径吗?
netbat_wdc 2002-09-25
  • 打赏
  • 举报
回复
把$workbook="test.xls";改成绝对的完整路径
如 c:/program files/apache group/apache/htdocs/test.xls;
sakura169 2002-09-25
  • 打赏
  • 举报
回复
看看这段吧:
<?php
print "Hi";
#Instantiate the spreadsheet component.
$ex = new COM("Excel.sheet") or Die ("Did not connect");
$exapp = new COM("Excel.application") or Die ("Did not connect");

#Get the application name and version
print "Application name:{$ex->Application->value}
" ;
print "Loaded version: {$ex->Application->version}
";

$wkb=$exapp->Workbooks->add();
#$wkb = $ex->Application->ActiveWorkbook or Die ("Did not open workbook");
print "we opened workbook
";

$ex->Application->Visible = 1; #Make Excel visible.
print "we made excell visible
";

$sheets = $wkb->Worksheets(1); #Select the sheet
print "selected a sheet
";
$sheets->activate; #Activate it
print "activated sheet
";

#This is a new sheet
$sheets2 = $wkb->Worksheets->add(); #Add a sheet
print "added a new sheet
";
$sheets2->activate; #Activate it
print "activated sheet
";

$sheets2->name="Report Second page";

$sheets->name="Report First page";
print "We set a name to the sheet: $sheets->name
";

# fills a columns
$maxi=20;
for ($i=1;$i<$maxi;$i++) {
$cell = $sheets->Cells($i,5) ; #Select the cell (Row Column number)
$cell->activate; #Activate the cell
$cell->value = $i*$i; #Change it to 15000
}

$ch = $sheets->chartobjects->add(50, 40, 400, 100); # make a chartobject

$chartje = $ch->chart; # place a chart in the chart object
$chartje->activate; #activate chartobject
$chartje->ChartType=63;
$selected = $sheets->range("E1:E$maxi"); # set the data the chart uses
$chartje->setsourcedata($selected); # set the data the chart uses
print "set the data the chart uses
";

$file_name="D:/apache/Apache/htdocs/alm/tmp/final14.xls";
if (file_exists($file_name)) {unlink($file_name);}
#$ex->Application->ActiveWorkbook->SaveAs($file_name); # saves sheet as final.xls
$wkb->SaveAs($file_name); # saves sheet as final.xls
print "saved
";

#$ex->Application->ActiveWorkbook->Close("False");
$exapp->Quit();
unset($exapp);
?>
sakura169 2002-09-25
  • 打赏
  • 举报
回复
要不要new COM("Excel.Application");
anziqi 2002-09-25
  • 打赏
  • 举报
回复
没有用过你这个东东只是提个见意.
你用Excel默认目录下的一个文件试着看看.

21,886

社区成员

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

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