как получить данные ячейки со специальными символами из xlsx reader

Я использую класс Simplexlsx php для чтения данных из файла xlsx и импорта в базу данных.

Я столкнулся с одной проблемой, которую я еще не нашел после google. Проблема заключается в том, что наличие значений в столбце xlsx равно 100%, 300 долларов, но библиотека анализирует данные и дает результат следующим образом: 1, 300 – Как и его оценка значений и удаление символов.

Файл Excel: введите описание изображения здесь

После анализа с выходом в библиотеку:

[10] => SimpleXMLElement Object ( [v] => 5 ) [11] => SimpleXMLElement Object ( [v] => 1.2 ) [12] => SimpleXMLElement Object ( [v] => 1.1000000000000001 ) [13] => SimpleXMLElement Object ( [v] => 1 ) 

и мои ожидаемые результаты должны быть такими:

 [10] => SimpleXMLElement Object ( [v] => 2.5% ) [11] => SimpleXMLElement Object ( [v] => 2% ) [12] => SimpleXMLElement Object ( [v] => 1.50% ) [13] => SimpleXMLElement Object ( [v] => 1% ) 

Вот ссылка класса, которую я использую: http://www.phpclasses.org/package/6279-PHP-Parse-and-retrieve-data-from-Excel-XLS-files.html

Также доступна на Git, но более старая версия: https://github.com/raulferras/simplexlsx

Вот моя функция синтаксического анализа файлов. Выше вывод я получаю из инструкции echo, которую вы видите ниже в разделе $ parse parse:

 function _parse() { // Document data holders $this->sharedstrings = array(); $this->sheets = array(); // $this->styles = array(); // Read relations and search for officeDocument if ( $relations = $this->getEntryXML("_rels/.rels" ) ) { foreach ($relations->Relationship as $rel) { if ($rel["Type"] == SimpleXLSX::SCHEMA_REL_OFFICEDOCUMENT) { // echo 'workbook found<br />'; // Found office document! Read workbook & relations... // Workbook if ( $this->workbook = $this->getEntryXML( $rel['Target'] )) { // echo 'workbook read<br />'; if ( $workbookRelations = $this->getEntryXML( dirname($rel['Target']) . '/_rels/workbook.xml.rels' )) { // echo 'workbook relations<br />'; // Loop relations for workbook and extract sheets... foreach ($workbookRelations->Relationship as $workbookRelation) { $path = dirname($rel['Target']) . '/' . $workbookRelation['Target']; if ($workbookRelation['Type'] == SimpleXLSX::SCHEMA_REL_WORKSHEET) { // Sheets // echo 'sheet<br />'; if ( $sheet = $this->getEntryXML( $path ) ) { $this->sheets[ str_replace( 'rId', '', (string) $workbookRelation['Id']) ] = $sheet; echo '<pre>'.htmlspecialchars( print_r( $sheet, true ) ).'</pre>'; } } else if ($workbookRelation['Type'] == SimpleXLSX::SCHEMA_REL_SHAREDSTRINGS && $this->entryExists( $path )) { // 0.6.6 // echo 'sharedstrings<br />'; if ( $sharedStrings = $this->getEntryXML( $path ) ) { foreach ($sharedStrings->si as $val) { if (isset($val->t)) { $this->sharedstrings[] = (string)$val->t; } elseif (isset($val->r)) { $this->sharedstrings[] = $this->_parseRichText($val); } } } } else if ($workbookRelation['Type'] == SimpleXLSX::SCHEMA_REL_STYLES) { $this->styles = $this->getEntryXML( $path ); $nf = array(); if ( $this->styles->numFmts->numFmt != NULL ) foreach( $this->styles->numFmts->numFmt as $v ) $nf[ (int) $v['numFmtId'] ] = (string) $v['formatCode']; if ( $this->styles->cellXfs->xf != NULL ) foreach( $this->styles->cellXfs->xf as $v ) { $v = (array) $v->attributes(); $v = $v['@attributes']; if (isset($this->built_in_cell_formats[ $v['numFmtId'] ]) ) $v['format'] = $this->built_in_cell_formats[ $v['numFmtId'] ]; else if (isset($nf[ $v['numFmtId'] ])) $v['format'] = $nf[ $v['numFmtId'] ]; else $v['format'] = ''; $this->workbook_cell_formats[] = $v; } //print_r( $this->workbook_cell_formats ); exit; } } break; } } } } } // Sort sheets ksort($this->sheets); } 

Любая помощь будет действительно оценена. Заранее спасибо.

Interesting Posts

Условное форматирование по выражению с использованием EPPlus

Идентификация целых чисел в ячейке Excel для формулы

excel 2013 обновить одну ячейку от другой и разрешить ввод в обоих

Загрузка файлов XLS без расширения файла

Runas – определенный файл xls

Как применить сохраненный шаблон диаграммы к существующей диаграмме?

EPPlus – Creata – новый файл, Формула остается такой же во всех строках, когда исходные данные находятся в datatable

Если Cell.Value является конкретным размером, скопируйте 3 ячейки в эту строку на новый лист

Как я могу ссылаться на значение столбца из предыдущей строки того же столбца в Power Query?

Добавление ограничений с помощью VBA к инструменту решателя

Excel Macro для изменения выравнивания ячеек, границ и обертывания текста, если значение было введено в другую ячейку в той же строке

Ошибка Applescript Синтаксис при использовании команды excel "open workbook"

Требуется ли путь к файлу (функция оболочки) VBA?

Excel получает номер числа

Два CellValues ​​с разными стилями в ячейке OPEN XML SDK 2.0

Давайте будем гением компьютера.