XLS В XML а потом в mysql или есть путь проще?

Vuzy

Новичок
Доброго времени суток ув. программисты подскажите как проще поступить:
Необходимо перегнать таблицу XLS в базу данных Mysql работать умею только с XML поэтому думал что будет проще сделать так но столкнулся с трудностью. При крнвертации мне выдало такой нагромажденный файл. В совсем не привычном для XML виде.
Код:
<Row ss:AutoFitHeight="0">
    <Cell ss:StyleID="s26"><Data ss:Type="String">Артикул</Data></Cell>
    <Cell ss:StyleID="s26"><Data ss:Type="String">Наименование полное</Data></Cell>
    <Cell ss:StyleID="s26"><Data ss:Type="String">Наименование короткое</Data></Cell>
    <Cell ss:StyleID="s26"><Data ss:Type="String">Ед.изм</Data></Cell>
    <Cell ss:StyleID="s26"><Data ss:Type="String">Отдел</Data></Cell>
    <Cell ss:StyleID="s26"><Data ss:Type="String">Дата последнего прихода</Data></Cell>
    <Cell ss:StyleID="s26"><Data ss:Type="String">Количество последнего прихода</Data></Cell>
    <Cell ss:StyleID="s26"><Data ss:Type="String">Цена розн</Data></Cell>
    <Cell ss:StyleID="s26"><Data ss:Type="String">Цена опт</Data></Cell>
    <Cell ss:StyleID="s26"><Data ss:Type="String">Остаток</Data></Cell>
    <Cell ss:StyleID="s26"><Data ss:Type="String">Сумма в прод.ценах</Data></Cell>
    <Cell ss:StyleID="s26"><Data ss:Type="String">Сумма в опт.ценах</Data></Cell>
    <Cell ss:StyleID="s26"><Data ss:Type="String">Группа АВС</Data></Cell>
    <Cell ss:StyleID="s26"><Data ss:Type="String">SAP статус</Data></Cell>
    <Cell ss:StyleID="s26"><Data ss:Type="String">Привязка к РЦ</Data></Cell>
    <Cell ss:StyleID="s26"><Data ss:Type="String">Бренд</Data></Cell>
    <Cell ss:StyleID="s26"><Data ss:Type="String">Штрихкод</Data></Cell>
  </Row>
обычно в XML идут ячейки с конкретными названиями к котоым можно обратится но тут везде CELL и DATA. Я в растерянности. Да и занимает он прилично. Боюсь ПХП с ним не справится. Подскажите какой то способ систематизоровать данные в этом файле и сделать его пригодным для обработки в ПХП и дальнейшей вставки в базу данных.
 

hell0w0rd

Продвинутый новичок
учи xpath и погугли xml namespaces
А вообще в экселе можно сохранить в SQL Server бд, от туда просто перегнать в mysql, или еще проще - csv
 

Vuzy

Новичок
hell0w0rd,Всем спасибо проблемму решил. Долго я не программировал всё забыл. Сделал проще. через CSV а дальше
PHP:
$s=file('ba.csv');
foreach ($s as $t)
{
$str=explode("=", $t);
$str[0]=mysql_escape_string($str[0]);
$str[1]=mysql_escape_string($str[1]);
$str[2]=mysql_escape_string($str[2]);
$str[3]=mysql_escape_string($str[3]);
$str[4]=mysql_escape_string($str[4]);
$str[5]=mysql_escape_string($str[5]);
$str[6]=mysql_escape_string($str[6]);
$sql='Insert into tovar (barcod, name, full_name, ed, otdel, brend) values("'.$str[6].'","'.$str[2].'","'.$str[1].'","'.$str[3].'","'.$str[4].'","'.$str[5].'")';
mysql_query($sql) or die (mysql_error());
}
Боялся что скрипт откажется выполняться из-за тайм-аута поэтому поставил set_time_limit(0); к сожалению не засёк сколько времени понадобилось для выполнения но все 600 тысяч строчек встали на свои места.
 

WMix

герр M:)ller
Партнер клуба
Vuzy, а дай табличку подержать, за 600 дам тебе 600 других баркодов
 

Vuzy

Новичок
WMix, я немного соврал .. у меня не 600 тыщ.. их на самом деле 67 000 с небольшим ... меня самого ввели в заблуждение артикула в базе моего магазина. Последний имеет значение 561720. Я сам немного разочарован. =)
И чем дейсвительно располагаю это 67 000 штрихкодов (в магазинах Фоззи маркет в тч и внутренних 025(но они то вам врядли нужны)) названиями к ним и расфасовками. и всё:(.
меняемся?
 
Сверху