|
|
|
| Допустим у меня есть таблица в html-документе. Можно ли нажав по какой-нибудь ссылке сохранить ее в формате xls/csv к себе на компьютер, не создавая файл на сервере? | |
|
|
|
|
|
|
|
для: Dima1999
(13.09.2005 в 01:06)
| | Ну теоретически можно... а не проще её сразу хранить в csv-формате, а для отображения на серервере преобразовывать из csv в html? | |
|
|
|
|
|
|
|
для: cheops
(13.09.2005 в 01:24)
| | В том то и дело, что это и не надо. Я вывожу данные из БД в таблицу, а потом мне нужно их запаковать в файл-таблицу, не создавая файл на сервере. Т.е. не из файла, а В файл. | |
|
|
|
|
|
|
|
для: Dima1999
(13.09.2005 в 01:28)
| | А нельзя для формирования файла-таблицы испльзовать информацию из базы данных, а не из HTML-таблицы? | |
|
|
|
|
|
|
|
для: cheops
(13.09.2005 в 01:50)
| | конечно можно, но
а) в таблице все красиво расписано "по полкам" =)
б) нужно видеть результат прежде, чем формировать результируюший файл | |
|
|
|
|
|
|
|
для: Dima1999
(13.09.2005 в 01:55)
| | a) Не очень понял...
б) Я предлагаю формировать его динамически и отправлять клиенту при помощи соответствующих HTTP-заголовков, как это описывается в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=7073 | |
|
|
|
|
|
|
|
для: cheops
(13.09.2005 в 13:01)
| | По полкам - т.е. например расписаны colspan'ы, а в csv этого нет. И еще например, заданы длины ячеек. Я бы хотел, чтобы и в итоговом файле они были именно такие.
Насчет темы про сохранение - там есть только про картинки. Как же сохранять всю таблицу из HTML-файла? | |
|
|
|
|
|
|
|
для: Dima1999
(13.09.2005 в 14:52)
| | Т.е. в базе данных информация хранится сразу в HTML-формате?
На месте картинки может быть любой файл, предназначенный для сохранения пользователю. | |
|
|
|
|
|
|
|
для: cheops
(13.09.2005 в 17:43)
| | Нет!!!! В БД есть куча полей и таблиц. Я из этих таблиц делаю выборку, располагаю данные так, как мне нужно и после этого хочу по ссылке (например) сохранить получившуюся таблицу в XLS-файл. Таблицу из файла на место картинки подставить я не могу =( | |
|
|
|
|
|
|
|
для: Dima1999
(13.09.2005 в 18:17)
| | А никакого файла и не нужно... вы можете создать CSV-файл в переменной, допустим $text? Тогда, код, предоставляющий пользователю возможность загрузить файл будет выглядеть следующим образом.
<?
$str="Content-Disposition: attachment; filename=price.xls";
header("Content-type: application/octet-stream");
echo $text;
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(13.09.2005 в 19:19)
| | Честно говоря не очень понял, как это создавать CSV-файл в переменной. Наверное, $text = "123.csv"??? Это? И еще одна непонятная мне вещь - зачем после хэдеров писать echo $text. | |
|
|
|
|
|
|
|
для: Dima1999
(13.09.2005 в 21:17)
| | Нет, в $text - содержимое CSV-файла
<?php
$text = 'Товарная позиция;123.56;нет в наличии
Вторая товарная позиция;234.67;на складе
Третья товарная позиция;568.98;-';
?>
|
А echo $text - отправляет данные в поток. | |
|
|
|
|
|
|
|
для: cheops
(14.09.2005 в 01:52)
| | Ага, вроде понял. Вот только еще вопрос. Как мне данные из сформированной в html-файле таблицы перенести в $text? И еще одна вещь: не очень в итоге это будет красиво выглядеть (в цсв-файле), т.к. все длины ячеек в таблице, которая находится в файле, будут потеряны | |
|
|
|
|
|
|
|
для: Dima1999
(14.09.2005 в 08:10)
| | >Ага, вроде понял. Вот только еще вопрос. Как мне данные из
>сформированной в html-файле таблицы перенести в $text?
Обычно для этого используют регулярные выражения - если возникают сложности давайте заведём новую тему в разделе http://www.softtime.ru/forum/index.php?id_forum=6 и преобразуем HTML-таблицу в CSV-файл. Только понадобится пример HTML-таблицы.
>не очень в итоге это будет красиво выглядеть (в
>цсв-файле), т.к. все длины ячеек в таблице, которая
>находится в файле, будут потеряны
Тут ничего не поделаешь, для того, чтобы генерировать XLS-файл - нужно дополнительное программное обеспеченье, которое нужно искать и ставить на сервер. Если вы сможете его найти - кинте плиз сюда ссылку. | |
|
|
|
|
|