СОЗДАТЬ файл Excel с гиперссылками в PHP - PullRequest
1 голос
/ 24 марта 2010

У меня есть следующий метод для создания файла Excel из PHP, начиная с двумерного массива:

header("Content-Disposition: attachment; filename=ExcelFile.xls");
header("Content-Type: application/vnd.ms-excel"); 



$Data[] = array('field1', 'field2', 'field3');
$Data[] = array('field1', 'field2', 'field3');
$Data[] = array('field1', 'field2', 'field3');

foreach($Data as $key => $val) {
    echo implode("\t", array_values($val)) . "\n"; 
}

Можно ли включить в этот файл гиперссылку на веб-страницу?

1 Ответ

0 голосов
/ 25 марта 2010

Для любого вида полезных манипуляций с ячейками, кроме базового подхода к выводу .csv, вы можете рассмотреть PHP COM.

Вот очень грубый пример, который сильно заимствует из этой ссылки просто, чтобы дать вам суть того, как она будет выглядеть:

//create instance of excel on the server
$excel = new COM("excel.application") or die("Unable to create excel object");

//add a book and a worksheet and activate the worksheet
$workbook = $excel->Workbooks->Add();
$worksheet=$workbook->Worksheets(1);
$worksheet->activate;

//pick an active cell (here it's A1) and add text plus a hyperlink
$cell=$worksheet->Cells(1,1);
$cell->Activate;
$cell->value = 'your hyperlink text';

//i took this syntax from my native MS VBA, so check syntax
$cell->Hyperlinks.Add.ActiveCell, 'http://yourdomain.com'

//save your doc
$worksheet->SaveAs([[your path]]);

//close everything up and free up resources
$worksheet->Close(false);
$excel->Workbooks->Close();
unset($sheet);
$excel->Quit();
$excel = null;

Результаты могут отличаться, в зависимости от всех сообщений об ошибках, прочитанных по этой теме.

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