Как мне экспортировать из MySQL в файл Excel на моем сайте PHP? - PullRequest
1 голос
/ 23 августа 2009

Я отображаю таблицу данных:

[Name] [Tel] [Email]    [checkbox]
Name 1  000  1@name.com
Name 2  000  2@name.com (checked)
Name 3  000  3@name.com (checked)

(кнопка загрузки, проверенная в XLS)

Чего я пытаюсь добиться, это создать эту кнопку, которая позволит пользователю загружать все проверенные записи в файле XLS?

Ответы [ 4 ]

2 голосов
/ 23 августа 2009

Если файл CSV подойдет (может быть открыт / отредактирован / сохранен в Excel), вы можете использовать что-то вроде этого:

foreach ($thing as $val) {
    if($val['checked']) {
        $csv_output .= "\"" . $val['name'] . "\",\"" . $val['tel'] . "\",\"" . $val['email'] . "\"\n";
    }
}
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: filename=" . $filename . "-" . date("Y-m-d") . ".csv");
print $csv_output;die;

Где $ csv_output - строка, отформатированная в формате CSV.

Если вы хотите сохранить файл, вы можете использовать функцию PHP fputcsv

0 голосов
/ 25 августа 2009

Существует PHPExcel , хорошая библиотека для записи файлов Excel на PHP.

0 голосов
/ 24 августа 2009

Вывод обычной HTML-страницы работал лучше всего для меня. Excel интерпретирует форматирование, включая CSS. И код остается читабельным.

<?php

$countries = Array(
    Array('name' => 'France', 'capital' => 'Paris'),
    Array('name' => 'Germany', 'capital' => 'Berlin'),
    Array('name' => 'Switzerland', 'capital' => 'Berne'),
);

// make the browser open it in Excel
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: filename=countries.xls");

?>
<html>
    <head>
        <style type="text/css">
td {
    border: 1px solid blue
}
        </style>
    </head>
    <body>
        <table>
            <tr>
                <th>Country</th>
                <th>Capital</th>
            </tr>
            <? foreach ($countries as $country): ?>
                <tr>
                    <td><?=$country['name'] ?></td>
                    <td><?=$country['capital'] ?></td>
                </tr>
            <? endforeach; ?>
        </table>
    </body>
</html>
0 голосов
/ 23 августа 2009

Конечно, только одна часть решения, но модуль PHP Электронная таблица Excel Writer позволит вам вывести электронную таблицу Excel.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...