2011-09-15 106 views
5

我在使用this tutorial来读取xlsx文件格式。我正在阅读xlsx文件。工作正常。但它将所有文件内容显示在一行中。如何在它们之间添加空间?谢谢 这是我的代码。使用PHP读取xlsx文件

$file_upload = 'book.zip'; 
$zip = new ZipArchive; 
// the string variable that will hold the file content 
$file_content = " "; 
// the uploaded file 
//$file_upload = $file -> upload["tmp_name"]; 
if ($zip -> open($file_upload) === true) { 
    // loop through all slide#.xml files 
    if (($index = $zip -> locateName("xl/sharedStrings.xml")) !== false) { 
        $data = $zip -> getFromIndex($index); 

        $xml = DOMDocument::loadXML($data, LIBXML_NOENT | LIBXML_XINCLUDE | LIBXML_NOERROR | LIBXML_NOWARNING); 

        $file_content = strip_tags($xml -> saveXML()); 
       } 
echo $file_content; 
} 

回答

5

已解决。只需添加这一行。 $xml->formatOutput = true; Full code here。

 $file_upload = 'book.zip'; 
$zip = new ZipArchive; 
// the string variable that will hold the file content 
$file_content = " "; 
// the uploaded file 
//$file_upload = $file -> upload["tmp_name"]; 
if ($zip -> open($file_upload) === true) { 
    // loop through all slide#.xml files 
    if (($index = $zip -> locateName("xl/sharedStrings.xml")) !== false) { 
        $data = $zip -> getFromIndex($index); 
        $xml->formatOutput = true; 
        $xml = DOMDocument::loadXML($data, LIBXML_NOENT | LIBXML_XINCLUDE | LIBXML_NOERROR | LIBXML_NOWARNING); 

        $file_content = strip_tags($xml -> saveXML()); 
       } 
echo $file_content; 
0

试试这个吗?测试PHP 5.5.3

$file_upload = 'book.zip'; 
$zip = new ZipArchive; 
$dom = new DOMDocument; 
// the string variable that will hold the file content 
$file_content = " "; 
// the uploaded file 
//$file_upload = $file -> upload["tmp_name"]; 
if ($zip->open($file_upload) === true) { 
    // loop through all slide#.xml files 
    $index = $zip->locateName("xl/sharedStrings.xml"); 
    if ($index !== false) { 
     $data = $zip->getFromIndex($index); 
     $dom->loadXML(
      $data, 
      LIBXML_NOENT | LIBXML_XINCLUDE | LIBXML_NOERROR | LIBXML_NOWARNING 
     ); 
     $dom->formatOutput = true; 
     $file_content = strip_tags($dom->saveXML()); 
    } 
} 
echo $file_content;