Всем привет, подскажите пожалуйста почему код не рабочий.Суть в том чтобы распаковывать xlsx
, менять в нем значение ячейки, и запаковывать обратно.У меня не меняются данные,не сохраняются изменения в sharedStrings.xml
.
Код sharedStrings.xml
<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="2" uniqueCount="2">
<si>
<t>Name</t>
</si>
<si>
<t>LastName</t>
</si>
</sst>
После работы скрипта
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
<sheetPr codeName="Лист1"/>
<dimension ref="B2:C2"/>
<sheetViews>
<sheetView tabSelected="1" workbookViewId="0">
<selection activeCell="C2" sqref="C2"/>
</sheetView>
</sheetViews>
<sheetFormatPr defaultRowHeight="15"/>
<sheetData>
<row r="2" spans="2:3">
<c r="B2" t="s">
<v>0</v>
</c>
<c r="C2" t="s">
<v>1</v>
</c>
</row>
</sheetData>
<pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3"/>
</worksheet>
Сам код скрипта
<?php
require_once('pclzip.lib.php');
$archive = new PclZip('1.xlsx');
if ($archive->extract() == 0) {
die("Error : ".$archive->errorInfo(true));
}
$file=file_get_contents('xl/sharedStrings.xml');
$xml = (array)simplexml_load_string($file);
$sst = array();
foreach ($xml['si'] as $item=>$val) $sst[] = (string)$val->t;
$file = file_get_contents('xl/worksheets/sheet1.xml');
$xml = simplexml_load_string($file);
$data1 = array();
foreach ($xml->sheetData->row as $row){
$currow = array();
foreach ($row->c as $c){
$value = (string)$c->v;
$attrs = $c->attributes();
if ($attrs['t'] == 's'){
$currow[] = $sst[$value];
}
else{
$currow[] = $value;
}
}
$data1[] = $currow;
}
$line = $data1;
$line[0][0] = 'Saymon';
$line[0][1] = ' Black';
$xml->asXML('xl/sharedStrings.xml');
$archive = new PclZip('2.xlsx');
$result = $archive->create('xl/_rels/workbook.xml.rels,xl/theme/theme1.xml,xl/worksheets/sheet1.xml,xl/sharedStrings.xml,xl/styles.xml,xl/workbook.xml,docProps/app.xml,docProps/core.xml,_rels/,[Content_Types].xml');
?>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Есть таблица users где информация о пользователе и соответственно его уникальный idМне необходимо создать вторую таблицу из двух столбцов
В общем на сайте есть форма с выпадающими списками полями для ввода данныхКак заполненную форму можно выгрузить в шаблон Excel? Смотрел PHPExcel,...