????
恐怕难好像只能用excel的com了

解决方案 »

  1.   

    我也要实现这个功能,问题是LINUX,不能用COM
      

  2.   

    可以用HEADER
    <?
    header("Content-type:application/vnd.ms-excel");
    header("Content-Disposition:filename=test.xls");
    ?>
    使用上面的代码,至于EXCEL文件的排版可以用HTML的TABLE来控制。
      

  3.   

    还有一种方法,是在网上找到的,我试过,效果还行,但是没法改变EXCEL文件的排版。PHP生成EXCEL的东东
    将下面的代码存为excel.php ,然后在页面中包括进来 然后调用 
    1. Call xlsBOF()  
    2. 将一些内容写入到xlswritenunber() 或者 xlswritelabel()中. 
    3.然后调用 Call xlsEOF() 也可以用 fwrite 函数直接写到服务器上,而不是用echo 仅仅在浏览器上显示。 
       
    <?php 
    // ----- begin of function library ----- 
    // Excel begin of file header 
    function xlsBOF() { 
        echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);  
        return; 

    // Excel end of file footer 
    function xlsEOF() { 
        echo pack("ss", 0x0A, 0x00); 
        return; 

    // Function to write a Number (double) into Row, Col 
    function xlsWriteNumber($Row, $Col, $Value) { 
        echo pack("sssss", 0x203, 14, $Row, $Col, 0x0); 
        echo pack("d", $Value); 
        return; 

    // Function to write a label (text) into Row, Col 
    function xlsWriteLabel($Row, $Col, $Value ) { 
        $L = strlen($Value); 
        echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L); 
        echo $Value; 
    return; 

    // ----- end of function library ----- 
    ?> //  
    // To display the contents directly in a MIME compatible browser  
    // add the following lines on TOP of your PHP file: <?php 
    header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
    header ("Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT"); 
    header ("Cache-Control: no-cache, must-revalidate");     
    header ("Pragma: no-cache");     
    header ('Content-type: application/x-msexcel'); 
    header ("Content-Disposition: attachment; filename=EmplList.xls" );  
    header ("Content-Description: PHP/INTERBASE Generated Data" ); 
    // 
    // the next lines demonstrate the generation of the Excel stream 
    // 
    xlsBOF();   // begin Excel stream 
    xlsWriteLabel(0,0,"This is a label");  // write a label in A1, use for dates too 
    xlsWriteNumber(0,1,9999);  // write a number B1 
    xlsEOF(); // close the stream 
    ?>