其实xml的格式就是:item11\t(制表符)item12\t...item1n\n(换行)
item21\t(制表符)item22\t...item2n\n
...
itemn1\t(制表符)itemn2\t...itemnn\n按照这种格式就可以相互转换你可以用程序输出成上面的格式保存成xml的文件然后它就可以在xml里面打开
反之一样

解决方案 »

  1.   

    不过他现在已经用excel保存成.xls的文件了,这样子php能不能打开?
      

  2.   

    看不明白,楼主说的xls和 fivetwogtt(快乐睫毛)说的xml是一种格式吗,分析一下就可以了?我也非常想知道,不知该怎么搞,请高人解说下
      

  3.   

    <?php
    $workbook = "C:\\a.xls";$sheet = "sheet1"; #实例化一个组件的对象 
    $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"); #读单元格数据 
    $sheets = $wkb->Worksheets($sheet); #Select the sheet 
    $sheets->activate; #Activate it 
    //$cell->activate; #Activate the cell .If this, you can modify the cell data.
    $sheets->Cells(1,A)=15000;
    //$cell->value = 15000; #Change it to 15000
    $ex->application->ActiveWorkbook->Close("False");
    unset ($ex);
    ?>
      

  4.   

    Parse error: parse error, unexpected '=' in F:\CodeBase\PSCode\MiPro\Excel\t.php on line 20
      

  5.   

    我就是想把一个EXCEL文件里的东西读出来。然后,写入到数据库中。。
    可是,看了这么多。都不会
    55555
      

  6.   

    请大家看看我的一个小系统中数据交换页面[多种格式导出导入]部分代码,:
    因为太长,我只能列出关键部分,希望能有所启示
    ===================================================================================
    <?
    $myselect = trim($_POST["txt1"]);
    $myrd     = trim($_POST["txt2"]);
    $myname   = trim($_POST["txt3"]); switch($myselect)
    {
       case 1: //Text================================================================================== 
          if($myrd=="1") ////1.导出--------------------------------------------------------------------
      {
              //保存在C:\ 目录下
          //$sqlstr = "select bookname from book into outfile '/backup$myname.txt'"; 
              //保存在D:\MySQL\data\ 目录下
              //$sqlstr = "select * from book into outfile './backup$myname.txt'";
              //保存在D:\MySQL\data\book_db 目录下  "\r\n"表示导出的记录条回车换行,也可用";"作为记录条的分隔
          //要注意的是:采用什么分隔符导出的,就应该采用同样的分隔符号导入。
      if(file_exists("/MySQL/data/book_db/book_txt.txt")||file_exists("/MySQL/data/book_db/type_txt.txt")){                                      //①如果文件已经存在,则先删除它们
         unlink("/MySQL/data/book_db/book_txt.txt"); 
         unlink("/MySQL/data/book_db/type_txt.txt");
                                                                //然后再确定导出语句
                 $sql1 = "SELECT  bookID,bookname,writer,booktype,publisher,publishdate,buydate,price,isdn,comment,islend FROM book INTO OUTFILE 'book_txt.txt' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'";
                 $sql2 = "SELECT typeID,typename FROM type INTO OUTFILE 'type_txt.txt' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'";
      }else{                                            //②如果文件不存在,则直接确定导出语句
                 $sql1 = "SELECT bookID,bookname,writer,booktype,publisher,publishdate,buydate,price,isdn,comment,islend FROM book INTO OUTFILE 'book_txt.txt' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'";
                 $sql2 = "SELECT typeID,typename FROM type INTO OUTFILE 'type_txt.txt' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'";}
              $result1 = mysql_query($sql1,$conn);//执行语句
              $result2 = mysql_query($sql2,$conn);//执行语句
              echo "<br><font color='red'>导出为Text文本文件成功!路径:D:\MySQL\data\book_db\</font>"; 
      }else{         ////2.导入--------------------------------------------------------------------
      if(file_exists("D:/MySQL/data/book_db/book_txt.txt")||file_exists("D:/MySQL/data/book_db/type_txt.txt")){ 
                 $sql1 = "LOAD DATA INFILE 'book_txt.txt' INTO TABLE book1 FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'";
                 $sql2 = "LOAD DATA INFILE 'type_txt.txt' INTO TABLE type1 FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'";
                 $result1 = mysql_query($sql1,$conn);//执行语句
                 $result2 = mysql_query($sql2,$conn);//执行语句
                 echo "<br><font color='red'>从Text文本文件导入本数据库成功!</font>";
      }else{echo "<br>未在D:\MySQL\data\book_db\路径下找到Text文本文件数据源,导入失败!";}
      }  
          break;
       case 2: //Word================================================================================== 
          if($myrd=="1") ////1.导出--------------------------------------------------------------------
      {
         if(file_exists("/MySQL/data/book_db/book_doc.doc")||file_exists("/MySQL/data/book_db/type_doc.doc"))
     {                                      //①如果文件已经存在,则先删除它们
         unlink("/MySQL/data/book_db/book_doc.doc"); 
         unlink("/MySQL/data/book_db/type_doc.doc");
                                                                //然后再确定导出语句
                 $sql1 = "SELECT  bookID,bookname,writer,booktype,publisher,publishdate,buydate,price,isdn,comment,islend FROM book INTO OUTFILE 'book_doc.doc' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'";
                 $sql2 = "SELECT typeID,typename FROM type INTO OUTFILE 'type_doc.doc' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'";
      }else{                                            //②如果文件不存在,则直接确定导出语句
                 $sql1 = "SELECT bookID,bookname,writer,booktype,publisher,publishdate,buydate,price,isdn,comment,islend FROM book INTO OUTFILE 'book_doc.doc' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'";
                 $sql2 = "SELECT typeID,typename FROM type INTO OUTFILE 'type_doc.doc' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'";}
              $result1 = mysql_query($sql1,$conn);//执行语句
              $result2 = mysql_query($sql2,$conn);//执行语句
              echo "<br><font color='red'>导出为Word文件成功!路径:D:\MySQL\data\book_db\</font>"; 
      }else{         ////2.导入--------------------------------------------------------------------
      if(file_exists("D:/MySQL/data/book_db/book_doc.doc")||file_exists("D:/MySQL/data/book_db/type_doc.doc")){ 
                 $sql1 = "LOAD DATA INFILE 'book_doc.doc' INTO TABLE book1 FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'";
                 $sql2 = "LOAD DATA INFILE 'type_doc.doc' INTO TABLE type1 FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'";
                 $result1 = mysql_query($sql1,$conn);//执行语句
                 $result2 = mysql_query($sql2,$conn);//执行语句
                 echo "<br><font color='red'>从Word文件导入本数据库成功!</font>";
      }else{echo "<br>未在D:\MySQL\data\book_db\路径下找到Word文件数据源,导入失败!";}
      } 
          break; 
       case 
      

  7.   

    3: //Excel=================================================================================
          if($myrd=="1")////1.导出--------------------------------------------------------------------
      {   
          //1.创建源文件 [采用导出数据到D:\MySQL\data\type_excel.txt文件中的方式创建]
              $sql1 = "SELECT  bookID,bookname,writer,booktype,publisher,publishdate,buydate,price,isdn,comment,islend FROM book INTO OUTFILE 'book_excel.txt' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'";
              $sql2 = "SELECT typeID,typename FROM type INTO OUTFILE 'type_excel.txt' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'";      
              //2.执行语句
      $result1 = mysql_query($sql1,$conn); 
      $result2 = mysql_query($sql2,$conn);   
              //3.指定源文件为book_excel.txt,type_excel.txt,计算其大小并打开
              $file_rs_size1=filesize("D:/MySQL/data/book_db/book_excel.txt");
              $file_rs_size2=filesize("D:/MySQL/data/book_db/type_excel.txt");
              $file_rs1=addslashes(fread(fopen("D:/MySQL/data/book_db/book_excel.txt","r"),$file_rs_size1));
              $file_rs2=addslashes(fread(fopen("D:/MySQL/data/book_db/type_excel.txt","r"),$file_rs_size2));
              //4.指定目标文件为book_excel.csv,type_excel.csv,并打开该文件
              //csv文件 [它能:1.把导入文件用逗号隔开的字段自动认成不同字段;2.把导入文件不同行自动认成不同行
      $file_goal1 = fopen("D:/MySQL/data/book_db/book_excel.csv","w");
      $file_goal2 = fopen("D:/MySQL/data/book_db/type_excel.csv","w");
              //5.将源文件的内容写入目标文件
              fwrite($file_goal1,$file_rs1);
              fwrite($file_goal2,$file_rs2);
      //6.删除源文件[一.因为其任务完成,不必再存在;二是避免下一次创建时出现该文件已经存在的错误提示]
              unlink("D:/MySQL/data/book_db/book_excel.txt");          
      unlink("D:/MySQL/data/book_db/type_excel.txt");
      echo "<br><font color='red'>导出为Excel文件成功!路径:D:\MySQL\data\book_db\</font>";
          }else{         ////2.导入--------------------------------------------------------------------
              if(file_exists("D:/MySQL/data/book_db/book_excel.csv")||file_exists("D:/MySQL/data/book_db/type_excel.csv")){ 
                 $sql1 = "LOAD DATA INFILE 'book_excel.csv' INTO TABLE book1 FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'";
                 $sql2 = "LOAD DATA INFILE 'type_excel.csv' INTO TABLE type1 FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'";
                 $result1 = mysql_query($sql1,$conn);//执行语句
                 $result2 = mysql_query($sql2,$conn);//执行语句
                 echo "<br><font color='red'>从Excel文件导入本数据库成功!</font>";
      }else{echo "<br>未在D:\MySQL\data\book_db\路径下找到Excel文件数据源,导入失败!";}      
      }
          break;
       case 
      

  8.   

    4: //XML===================================================================================
          if($myrd=="1")////1.导出--------------------------------------------------------------------
      {   
             //①表book导出-----------------
     $table1 = "book";
             $sql1="SELECT bookID,bookname,writer,booktype,publisher,publishdate,buydate,price,isdn,comment,islend FROM $table1"; 
             $result1   = mysql_query($sql1,$conn);    //数据库查询 
             $filestr1  = "<?xml version='1.0' encoding='GB2312'?>"; //1.开始$filestr1,设定xml文件头
             $filestr1 .= "<".$table1.">";                                 //<table>
             while($row1 = mysql_fetch_array($result1,MYSQL_NUM))//1.纵向读取所有记录 ↓
             {                                                   //并用"<record>...</record>"括起来
             $filestr1 .= "<record>";                        //<record>
                 $fields1   = mysql_list_fields("book_db",$table1,$conn);              for($i=0;$i<mysql_num_fields($fields1)-1;$i++)     //3.横向读取每一个字段 →
             {                                                  //并用"<field name>...</field name>"括起
                    $num_fields1 = mysql_field_name($fields1,$i); 
                    $filestr1   .= "<".$num_fields1.">";            //<field name> 
                    $filestr1   .= $row1[$i];                          //记录数据 比如"3","文学批评原理"
                    $filestr1   .= "</".$num_fields1.">";           //</field name>               
             }
     
                 $filestr1 .= "</record>";                       //</record>
             } 
             $filestr1 .= "</".$table1.">";                                //</table>4.至此完成整个字符串
             //echo $filestr1;                      //$filestr1的制作,接下来就是将它写入文件 $filename1中               
             $filename1 = $table1."_xml.xml";//以下是将book表中的所有字段写入xml文件
             $fp1 = fopen("D:/MySQL/data/book_db/$filename1","w"); 
             fwrite($fp1,$filestr1); 
             fclose($fp1); 
             //---------------------------------------------------------------
     //②表type导出-----------------
             $table2 = "type";
             $sql2   = "SELECT * FROM $table2"; 
             $result2   = mysql_query($sql2,$conn);//数据库查询          $filestr2  = "<?xml version='1.0' encoding='GB2312'?>"; //1.开始$filestr1,设定xml文件头
             $filestr2 .= "<".$table2.">";                                 //<table>
             while($row2 = mysql_fetch_array($result2,MYSQL_NUM))//2.纵向读取所有记录 ↓
             {                                                   //并用"<record>...</record>"括起来
             $filestr2 .= "<record>";                        //<record>
                 $fields2   = mysql_list_fields("book_db",$table2,$conn);               for($j=0;$j<mysql_num_fields($fields2);$j++)            //3.横向读取每一个字段 →
             {                                                  //并用"<field name>...</field name>"括起
                    $num_fields2 = mysql_field_name($fields2,$j); 
                    $filestr2   .= "<".$num_fields2.">";            //<field name> 比如"typeID","typename"...
                    $filestr2   .= $row2[$j];                          //记录数据 比如"2","A11 选集、文集"
                    $filestr2   .= "</".$num_fields2.">";           //</field name>               
             }              $filestr2 .= "</record>";                       //</record>
             } 
             $filestr2 .= "</".$table2.">";                                //</table>4.至此完成整个字符串
     //echo $filestr2;                      //$filestr2的制作,接下来就是将它写入文件 $filename2中             $filename2 = $table2."_xml.xml";//以下是将type表中的所有字段写入xml文件
             $fp2 = fopen("D:/MySQL/data/book_db/$filename2","w"); 
             fwrite($fp2,$filestr2); 
             fclose($fp2);
     echo "<br><font color='red'>导出为XML文件成功!路径:D:\MySQL\data\book_db\</font>";  
      

  9.   

    请用google搜索excel_class的Excel 读取类
    另外pear.php.net有excel文件创建控制类
      

  10.   

    下载PHPExcelParserPro类(含使用方法),任何操作系统下都可使用