csv в xls помогите, пожалуйста, переделать средствами php

12
P
На сайте с 06.01.2009
Offline
601
1573

Здравствуйте.

Прошу показать простой пример скрипта, так как в рунете решение не найти.

Есть файл csv.

код php


$fajl1='table.csv';
foreach ($file1 as $value) {
$stroka = $value;
$gfd = explode(";", $stroka);

/// а вот здесь нужно
$gfd[0] и вставить в 1-ю строку 1-ю ячейку xls
$gfd[3] вставить в 1-ю строку 2-ю ячейку xls
$gfd[4] вставить в 1-ю строку 3-ю ячейку xls
в следующем круге цикла надо сделать тоже самое, но вставить во вторую строку xls
}

сможет кто то помочь?

S
На сайте с 23.05.2004
Offline
315
#1

http://phpexcel.codeplex.com/ - работающее решение, но жрет память.

Это просто подпись.
P
На сайте с 06.01.2009
Offline
601
#2

фигово, когда в английском ничего не понимаешь.

Скачал, распаковал - там в архиве сотня файлов.

Я честно говоря не настолько продвинут чтобы в них во всех разорабраться.

Думал, что из csv в xls вставить дело 100 строк кода.

A
На сайте с 08.07.2010
Offline
25
#3

А откуда такая задача возникла?

Проблема в том, что xls - это бинарный формат, в отличи от текстового csv, который и был придуман для хранения табличных данных в текстовом файле.

Поэтому, вряд ли получится xls просто сгенерировать.

IL
На сайте с 20.04.2007
Offline
435
#4
postavkin:
Думал, что из csv в xls вставить дело 100 строк кода.

не-не.. там тремя щелчками мыши всё делается.. вставляешь, удаляешь вторую колонку, сохранитьКак, профит..

Там строчек 8 будет.. в цикле... Если библиотеку использовать. Для того, чтоб с примерами разобраться не нужно быть "продвинутым" в английском.

Или, если я правильно понял задачу, вообще строчек в пять уложиться можно: открыть как CSV, удалить 2-ю колонку (

$objPHPExcel->getActiveSheet()->removeColumn(...)
), а сохранить как XLS.
... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
T
На сайте с 19.09.2012
Offline
29
#5
postavkin:
фигово, когда в английском ничего не понимаешь.
Скачал, распаковал - там в архиве сотня файлов.
Я честно говоря не настолько продвинут чтобы в них во всех разорабраться.
Думал, что из csv в xls вставить дело 100 строк кода.

Тоже использую PHPExcel для PHP, если надо для Perl - Spreadsheet::WriteExcel.

Примеры для PHPExcel лежат в папке Tests.

Есть пример и по поводу csv->xls:

http://phpexcel.codeplex.com/SourceControl/latest#branches/v1.7.6/Tests/16csv.php

PS: По поводу английского... Google Chrome же предлагает автоперевод веб-страниц... так что это не тупиковая проблема.

IL
На сайте с 20.04.2007
Offline
435
#6
turen:
Google Chrome же предлагает автоперевод веб-страниц... так что это не тупиковая проблема.

Особенно зачётно получается с переводом самого кода :D

P
На сайте с 06.01.2009
Offline
601
#7
ivan-lev:
Для того, чтоб с примерами разобраться не нужно быть "продвинутым" в английском.

Согласен, но там в архиве 10 папок и 99 файлов, а я не настолько продвинут в программировании, чтобы просмотреть каждый быстро и разобраться, что к чему. Исходя из полученых ответов, решил не делать то что хотел, потому что мои затраты времени будут просто огромными. Спасибо.

---------- Добавлено 07.09.2013 в 18:17 ----------

axxil:
А откуда такая задача возникла?

Задача.

Есть база данных на сайте, ну т.е. mysql

Нужно базу данных сохранить в xls, но не прото сохранить в xls а некоторые столбцы из базы просто не брать, некоторые, например второй и третий соеденить, а в последнем сделать ссылку на урл страницы на сайте. Т.е. я хочу из этой таблицы которая в бд, сделать прайс, который пользователь сможет скачать, а для просмотра товара - в прайсе будет ссылка.

IL
На сайте с 20.04.2007
Offline
435
#8

Самый "простой" вариант для дальнейшего открытия в Excel - сохранить "просто в CSV"

SELECT ... INTO OUTFILE

Если же нужен именно XLS - есть смысл использовать библиотеки. ссылки выше

postavkin:
Там в архиве 10 папок и 99 файлов.
И? https://www.google.com/search?q=phpexcel+csv+to+xls&safe=off
E
На сайте с 21.09.2009
Offline
283
#9
postavkin:
Нужно базу данных сохранить в xls, но не прото сохранить в xls а некоторые столбцы из базы просто не брать, некоторые, например второй и третий соеденить, а в последнем сделать ссылку на урл страницы на сайте.

Могу помочь за спасибо. Отпишитесь в ЛС.

P
На сайте с 06.01.2009
Offline
601
#10
ivan-lev:
Самый "простой" вариант для дальнейшего открытия в Excel - сохранить "просто в CSV"
SELECT ... INTO OUTFILE

Если же нужен именно

Да, нужен, так как в файле нужно сделать активные ссылки

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий