。干吗不直接 用php计算呢?

解决方案 »

  1.   

    excel文件倒好办,php倒是能读,能写
      

  2.   

    问题是excel文件已经用了很多函数算法,已经集成了一个计算器了啊,只要填入选项就能计算,如果用PHP来计算的话,不知道里面的计算公式,还有就是表单太复杂。想直接往EXCEL里面塞数据再读结果就很简单了,不知怎么实现,大家帮忙想想办法~~~
      

  3.   

    MS Excel在使用PHP的COM函数#打开workbook和它的sheet,
    #本例使用一个电子表格是Excel安装时自带的SOLVSAMP.XLS$workbook = "C:Program FilesMicrosoft officeOfficeSamplesSOLVSAMP.XLS";
    $sheet = "Quick Tour";#实例化一个组件的对象
    $ex = new COM("Excel.sheet") or Die ("Did not connect");#取程序名称和版本
    print "Application name:{$ex->Application->value}
    " ;
    print "Loaded version: {$ex->Application->version}
    ";#打开工作本使我们可使用它
    $wkb = $ex->application->Workbooks->Open($workbook) or Die ("Did not open");#预保存原来的工作本,创建一个工作本的复本
    $ex->Application->ActiveWorkbook->SaveAs("Ourtest");
    #$ex->Application->Visible = 1; #本句去注释让Excel可见# 读写一个单元格在一个新的工作表中
    # 我们可以读到这个单元格 E11 (Advertising in the 4th. Quarter)
    $sheets = $wkb->Worksheets($sheet); #Select the sheet
    $sheets->activate; #Activate it
    $cell = $sheets->Cells(11,5) ; #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;
    #必须的如果要计算,手动则是可选的
    #可看到效果总价值(E13单元格)
    $cell = $sheets->Cells(13,5) ; #Select the cell (Row Column number)
    $number = Number_format($cell->value);
    print "New Total cost =$$number - was ,732 before.
    ";
    #根据计算公式,广告影响了公司的开销,这里将显示 ,809#使用Excel内建的函数
    # PMT(percent/12 months,Number of payments,Loan amount)
    $pay = $ex->application->pmt(0.08/12,10,10000);
    $pay = sprintf("%.2f",$pay);
    print "Monthly payment for ,000 loan @8% interest /10 months: $ $pay
    ";#Should print monthly payment = $ -1,037.03#可选,保存
    $ex->Application->ActiveWorkbook->SaveAs("Ourtest");
    #关闭,不提问
    $ex->application->ActiveWorkbook->Close("False");
    unset ($ex);?>
      

  4.   

    呵呵,谢谢 laruence 不过我的excel计价器很复杂,不知行不行,先试下。
     
      

  5.   

    Fatal error: Uncaught exception 'com_exception' with message 'Error [0x80020003] 找不到成员。 ' in E:\ROOT918\ROOT\insurance\test.php:7 Stack trace: #0 E:\ROOT918\ROOT\insurance\test.php(7): unknown() #1 {main} thrown in E:\ROOT918\ROOT\insurance\test.php on line 7报错了,打不开
      

  6.   

    你没有找对成员函数你试试,get_class_methods()
      

  7.   

    哎,难过
    exception 'com_exception' with message 'Error [0x80020003] 找不到成员。 ' in E:\ROOT918\ROOT\insurance\test.php:9 Stack trace: #0 E:\ROOT918\ROOT\insurance\test.php(9): unknown() #1 {main}
      

  8.   

    用phpexcel类吧!挺好用的
    具体可以在网上下到,前段时间刚用了
      

  9.   

    phpexcel类 我也试过了,没反应,根本不行。
      

  10.   

    调用excel类:<?
    require "excel_class.php";
    $workbook = "E:\ROOT918\ROOT\\tpic.xls"; Read_Excel_File($workbook,$return);for ($i=0;$i<count($return[Sheet1]);$i++)
    {
    for ($j=0;$j<count($return[Sheet1][$i]);$j++)
    {
    echo $return[Sheet1][$i][$j]."|";
    }
    echo "<br>";
    }
    ?>没反应,无输出
      

  11.   

    如果只是操作数据,可以的,最无误的办法是调用ADO操作excel,或用VBA 操作ADO 连接mysql如果要操作excel,在linux下没有办法!
    如果是.net或C#
    能调用相关的ActiveX之类的控件组件,(相当于本身就是一个excel),可以完全操作excel,PHP不行