Feature: Work item 14979 - Added listWorksheetNames() method to OOCalc and Gnumeric Readers
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@66079 2327b42d-5241-43d6-9e2a-de5ac946f064
This commit is contained in:
parent
e3a01db2a9
commit
14cc952323
|
@ -222,6 +222,36 @@ class PHPExcel_Reader_Gnumeric implements PHPExcel_Reader_IReader
|
||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reads names of the worksheets from a file, without parsing the whole file to a PHPExcel object
|
||||||
|
*
|
||||||
|
* @param string $pFilename
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public function listWorksheetNames($pFilename)
|
||||||
|
{
|
||||||
|
// Check if file exists
|
||||||
|
if (!file_exists($pFilename)) {
|
||||||
|
throw new Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||||
|
}
|
||||||
|
|
||||||
|
$gFileData = $this->_gzfileGetContents($pFilename);
|
||||||
|
|
||||||
|
$xml = simplexml_load_string($gFileData);
|
||||||
|
$namespacesMeta = $xml->getNamespaces(true);
|
||||||
|
|
||||||
|
$gnmXML = $xml->children($namespacesMeta['gnm']);
|
||||||
|
|
||||||
|
$worksheetNames = array();
|
||||||
|
|
||||||
|
foreach($gnmXML->Sheets->Sheet as $sheet) {
|
||||||
|
$worksheetNames[] = (string) $sheet->Name;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $worksheetNames;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Loads PHPExcel from file into PHPExcel instance
|
* Loads PHPExcel from file into PHPExcel instance
|
||||||
*
|
*
|
||||||
|
|
|
@ -186,6 +186,42 @@ class PHPExcel_Reader_OOCalc implements PHPExcel_Reader_IReader
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reads names of the worksheets from a file, without parsing the whole file to a PHPExcel object
|
||||||
|
*
|
||||||
|
* @param string $pFilename
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public function listWorksheetNames($pFilename)
|
||||||
|
{
|
||||||
|
// Check if file exists
|
||||||
|
if (!file_exists($pFilename)) {
|
||||||
|
throw new Exception("Could not open " . $pFilename . " for reading! File does not exist.");
|
||||||
|
}
|
||||||
|
|
||||||
|
$worksheetNames = array();
|
||||||
|
|
||||||
|
$zip = new ZipArchive;
|
||||||
|
if ($zip->open($pFilename) === true) {
|
||||||
|
|
||||||
|
$xml = simplexml_load_string($zip->getFromName("content.xml"));
|
||||||
|
$namespacesContent = $xml->getNamespaces(true);
|
||||||
|
|
||||||
|
$workbook = $xml->children($namespacesContent['office']);
|
||||||
|
foreach($workbook->body->spreadsheet as $workbookData) {
|
||||||
|
$workbookData = $workbookData->children($namespacesContent['table']);
|
||||||
|
foreach($workbookData->table as $worksheetDataSet) {
|
||||||
|
$worksheetDataAttributes = $worksheetDataSet->attributes($namespacesContent['table']);
|
||||||
|
|
||||||
|
$worksheetNames[] = $worksheetDataAttributes['name'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $worksheetNames;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Loads PHPExcel from file
|
* Loads PHPExcel from file
|
||||||
*
|
*
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
Fixed in SVN:
|
Fixed in SVN:
|
||||||
- Feature: (MBaker) Provide option to use PCLZip as an alternative to ZipArchive.
|
- Feature: (MBaker) Provide option to use PCLZip as an alternative to ZipArchive.
|
||||||
This allows the writing of Excel2007 files, even without ZipArchive enabled (it does require zlib), or when php_zip is one of the buggy PHP 5.2.6 or 5.2.8 versions
|
This allows the writing of Excel2007 files, even without ZipArchive enabled (it does require zlib), or when php_zip is one of the buggy PHP 5.2.6 or 5.2.8 versions
|
||||||
- Feature: (MBaker) Work item 14979 - Added listWorksheetNames() method to Excel2007 and Excel5 Readers, allowing a user to extract a list of worksheet names from a file without parsing/loading the whole file.
|
- Feature: (MBaker) Work item 14979 - Added listWorksheetNames() method to Excel2007, Excel5, OOCalc and Gnumeric Readers, allowing a user to extract a list of worksheet names from a file without parsing/loading the whole file.
|
||||||
- Bugfix: (MBaker) Work item 14888 - Simple =IF() formula disappears
|
- Bugfix: (MBaker) Work item 14888 - Simple =IF() formula disappears
|
||||||
- Bugfix: (MBaker) Work item 14898 - PHP Warning: preg_match(): Compilation failed: PCRE does not support \\L, \\l, \\N, \\P, \\p, \\U, \\u, or \\X
|
- Bugfix: (MBaker) Work item 14898 - PHP Warning: preg_match(): Compilation failed: PCRE does not support \\L, \\l, \\N, \\P, \\p, \\U, \\u, or \\X
|
||||||
- Bugfix: (MBaker) Work item 14901 - VLOOKUP choking on parameters in PHPExcel.1.7.5/PHPExcel_Writer_Excel2007
|
- Bugfix: (MBaker) Work item 14901 - VLOOKUP choking on parameters in PHPExcel.1.7.5/PHPExcel_Writer_Excel2007
|
||||||
|
|
Loading…
Reference in New Issue