PHPExcel: Загрузка электронной таблицы

В течение долгого времени теперь я пытался дать пользователям способность к 'сохранить Как' или 'открыть' созданную электронную таблицу, используя диалоговое окно.

Это - то, что я попробовал, я не получаю ошибок, просто знаки тарабарщины на экране:

//CREATE SPEADSHEET

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');

// We'll be outputting an excel file
header('Content-type: application/vnd.ms-excel');

// It will be called file.xls
header('Content-Disposition: attachment; filename="file.xls"');

// Write file to the browser
$objWriter->save('php://output');

Я был бы очень признателен за любую помощь с пониманием этого.

3
nl ja de
Пекарь @Mark, я can' t "сохранить Как" и я не получаю ошибок, который является проблемой.
добавлено автор AnchovyLegend, источник
Спасибо за ответ. Нет, никакие данные не отражены перед заголовками.... Под чем вы подразумеваете, "вы посмотрели на заголовки, вы входите в экран с тарабарщиной, чтобы удостовериться, что они правильны?" Извините, я плохо знаком со всем этим.
добавлено автор AnchovyLegend, источник
Спасибо за помощь. Это не проблема. Я проверил, ничто, кажется, не неправильно. Его все еще работа.
добавлено автор AnchovyLegend, источник
Сделайте "сохранить Как" и откройте файл в текстовом редакторе: тогда ищите пробел (места, счета, новые строки, и т.д.) как первые или последние знаки в файле, маркере BOM или любых видимых сообщениях об ошибках PHP в файле
добавлено автор Mark Baker, источник
В этом случае, "источник представления" и ищут вышеупомянутое. Наиболее вероятная причина - это you' ре, повторяющее некоторую продукцию кроме файла Excel
добавлено автор Mark Baker, источник
Если продукция появляется на экране вместо того, чтобы вызвать browser' s диалог загрузки, тогда заголовки - not' t выполнение их работы. Гарантируйте, чтобы у вас была полная регистрация ошибок, чтобы показать и видеть, дает ли это какой-либо ключ к разгадке
добавлено автор Mark Baker, источник
сделайте у вас есть что-либо echo' d, прежде чем вы установите заголовок? вы посмотрели на заголовки, вы входите в экран с тарабарщиной, чтобы удостовериться, что они правильны?
добавлено автор Pitchinnate, источник
Посмотрите на возвращение заголовков HTML сервером в вашем браузере.
добавлено автор Pitchinnate, источник
если you' ре пробуя это в IE по SSL, it' s - исключение.
добавлено автор periback2, источник

2 ответы

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

 define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '
'); /** Include PHPExcel */ require_once '../../PHPExcel/Classes/PHPExcel.php'; //Create new PHPExcel object $objPHPExcel = new PHPExcel(); //Set document properties $objPHPExcel->getProperties()->setCreator("Lumina") ->setLastModifiedBy("Lumina") ->setTitle("Entry members") ->setSubject("Entry members") ->setDescription("List of members participting.") ->setKeywords("office PHPExcel php") ->setCategory("Entry members"); //Add some data $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A1', $row_titles['TITLE01']) ->setCellValue('B1', $row_titles['TITLE02']) ->setCellValue('C1', $row_titles['TITLE03']) ->setCellValue('D1', $row_titles['TITLE04']) ->setCellValue('E1', $row_titles['TITLE05']) ->setCellValue('F1', $row_titles['TITLE06']) ->setCellValue('G1', $row_titles['TITLE07']) ->setCellValue('H1', $row_titles['TITLE08']) ->setCellValue('I1', $row_titles['TITLE09']) ->setCellValue('J1', $row_titles['TITLE10']) ->setCellValue('K1', $row_titles['TITLE11']) ->setCellValue('L1', $row_titles['TITLE12']) ->setCellValue('M1', $row_titles['TITLE13']) ->setCellValue('N1', $row_titles['TITLE14']) ->setCellValue('O1', $row_titles['TITLE15']) ->setCellValue('P1', $row_titles['TITLE16']) ->setCellValue('Q1', $row_titles['TITLE17']) ->setCellValue('R1', $row_titles['TITLE18']) ->setCellValue('S1', $row_titles['TITLE19']) ->setCellValue('T1', $row_titles['TITLE20']) ->setCellValue('U1', $row_titles['TEAM_TX']) ->setCellValue('V1', $row_titles['T_SHIRT_SIZE']) ->setCellValue('W1', $row_titles['INPUT1_TX']) ->setCellValue('X1', $row_titles['INPUT2_TX']) ->setCellValue('Y1', $row_titles['INPUT3_TX']) ->setCellValue('Z1', $row_titles['INPUT4_TX']); //Rename worksheet $objPHPExcel->getActiveSheet()->setTitle('Participants'); //Set active sheet index to the first sheet, so Excel opens this as the first sheet $objPHPExcel->setActiveSheetIndex(0); //Save Excel5 file //echo date('H:i:s') , " Write to Excel5 format" , EOL; $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save(str_replace('.html', '.xls', __FILE__)); //We'll be outputting an excel file header('Content-type: application/vnd.ms-excel'); //It will be called file.xls header('Content-Disposition: attachment; filename="file.xls"'); //Write file to the browser $objWriter->save('php://output');

Я надеюсь, что это может иметь любую помощь, поскольку я также плохо знаком с PHP.

5
добавлено

У меня была та же самая проблема, я получал тарабарщину в ответе. и превосхождение не могло быть открыто. Решение не состоит в том, чтобы использовать форму, представляют или требование ajax, только используют document.location, чтобы отправить процесс превосходить генератора. Например:

document.location="/php/Controller/YnrAPICall.php?is_string=1¶ms="+ JSON.stringify(params);
0
добавлено
phpGeeks
phpGeeks
3 620 участник(ов)

Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

PHP
PHP
1 309 участник(ов)

Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

PHP — вакансии, поиск работы и аналитика
PHP — вакансии, поиск работы и аналитика
1 251 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

phpGeeksJunior
phpGeeksJunior
980 участник(ов)

Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

phpclub.ru
phpclub.ru
872 участник(ов)

Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

Devall | PHP
Devall | PHP
272 участник(ов)

Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp