powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Работа с Excel
17 сообщений из 17, страница 1 из 1
Работа с Excel
    #36519127
Фотография meg17m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь открыть:
Код: plaintext
1.
2.
3.
4.
5.
<?php
  $xls = new COM("Excel.Application");  // Создаем новый COM-объект
  $xls->Application->Visible =  1 ;       // Заставляем его отобразиться
  $xls->Workbooks->Open("price.xls");   // Открываем ранее сохраненный документ
?>
price.xls - существует и лежит в корне сайта. Исходник тоже в корне. Пишет:
автор
Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Microsoft Office Excel<br/><b>Description:</b> Не удалось найти "price.xls". Проверьте правильность ввода имени и расположения файла. При попытке открытия файла из списка недавно использованных файлов убедитесь, что файл не был переименован, перемещен или удален.' in C:\apache\berg.ru\www\testprice.php:4 Stack trace: #0 C:\apache\berg.ru\www\testprice.php(4): variant->Open('price.xls') #1 {main} thrown in C:\apache\berg.ru\www\testprice.php on line 4

Полный путь (c:\...) писать нельзя, т.к. это cms и у каждого хостера он свой. Что с этим делать?
...
Рейтинг: 0 / 0
Работа с Excel
    #36519133
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возьмите из массива $_SERVER путь к скрипту. Извлеките директорию (например с помощью функции pathinfo). Похепе под рукой нет, так что код не напишу.
...
Рейтинг: 0 / 0
Работа с Excel
    #36519135
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MegaLastaПытаюсь открыть:
Код: plaintext
1.
2.
3.
4.
5.
<?php
  $xls = new COM("Excel.Application");  // Создаем новый COM-объект
  $xls->Application->Visible =  1 ;       // Заставляем его отобразиться
  $xls->Workbooks->Open("price.xls");   // Открываем ранее сохраненный документ
?>

Чё-то не понятно. Вы где его на сервере что-ли отобразить хотите?
...
Рейтинг: 0 / 0
Работа с Excel
    #36519139
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<?php
$pathinfo = pathinfo($_SERVER['SCRIPT_FILENAME']);
$dir_name = $pathinfo['dirname'];

$xls = new COM("Excel.Application"); // Создаем новый COM-объект
$xls->Application->Visible = 1; // Заставляем его отобразиться
$xls->Workbooks->Open($dir_name . "/price.xls"); // Открываем ранее сохраненный документ
?>

Вторая строчка тоже заинтриговала.
...
Рейтинг: 0 / 0
Работа с Excel
    #36519142
Фотография meg17m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,

Написал:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<?php
  //var_dump($_SERVER);
  //echo $_SERVER["DOCUMENT_ROOT"];

  $xls = new COM("Excel.Application");  // Создаем новый COM-объект
  $xls->Application->Visible =  1 ;       // Заставляем его отобразиться
  $fullpath = $_SERVER["DOCUMENT_ROOT"]."/1.xlsx";
  echo $fullpath."<br><br>";
  $xls->Workbooks->Open($fullpath);   // Открываем ранее сохраненный документ
?>
Выводит:

автор
C:/apache/berg.ru/www/1.xlsx


Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Microsoft Office Excel<br/><b>Description:</b> Нет доступа к файлу 'C://apache/berg.ru/www/1.xlsx'. Это может быть вызвано одной из следующих причин. • Имени файла или пути не существует. • Файл используется другой программой. • Имя книги, которую вы пытаетесь сохранить, совпадает с именем открытой в данный момент книги.' in C:\apache\berg.ru\www\testprice.php:9 Stack trace: #0 C:\apache\berg.ru\www\testprice.php(9): variant->Open('C:/apache/berg....') #1 {main} thrown in C:\apache\berg.ru\www\testprice.php on line 9
...
Рейтинг: 0 / 0
Работа с Excel
    #36519144
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MegaLasta,

Давайте сначала разберёмся со строчкрй:
Код: plaintext
1.
$xls->Application->Visible =  1 ;       // Заставляем его отобразиться
...
Рейтинг: 0 / 0
Работа с Excel
    #36519147
Фотография meg17m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,

так тоже пишет:

автор
Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Microsoft Office Excel<br/><b>Description:</b> Нет доступа к файлу 'C://apache/berg.ru/www/price.xls'. Это может быть вызвано одной из следующих причин. • Имени файла или пути не существует. • Файл используется другой программой. • Имя книги, которую вы пытаетесь сохранить, совпадает с именем открытой в данный момент книги.' in C:\apache\berg.ru\www\testprice.php:17 Stack trace: #0 C:\apache\berg.ru\www\testprice.php(17): variant->Open('C:/apache/berg....') #1 {main} thrown in C:\apache\berg.ru\www\testprice.php on line 17
...
Рейтинг: 0 / 0
Работа с Excel
    #36519150
Фотография meg17m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge,

Это пример из мануала. Там пишут:
автор
Теперь через дескриптор $xls мы можем обращаться ко всем свойствам и методам Excel.
Будет ли отображаться Excel или нет, указывается в свойстве Visible() объекта Application().
Если мы этому свойству присвоим значение 1, то программа будет отображаться, если 0, то нет:

Можно поставить 0. Но проблема не в этом...
...
Рейтинг: 0 / 0
Работа с Excel
    #36519151
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПС. Если хотите работать с экселем на сервере используйте XSLT, щас так все делают. К тому же, это - не зависит от платформы, а формат экселя, сейчас открыт.
Только не уверен, что Вам это надо.
...
Рейтинг: 0 / 0
Работа с Excel
    #36519154
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MegaLastaShSerge,

Это пример из мануала. Там пишут:
автор
Теперь через дескриптор $xls мы можем обращаться ко всем свойствам и методам Excel.
Будет ли отображаться Excel или нет, указывается в свойстве Visible() объекта Application().
Если мы этому свойству присвоим значение 1, то программа будет отображаться, если 0, то нет:

Можно поставить 0. Но проблема не в этом...
Опять тот же вопрос. Вам на сервере отображать нужно или на клиенте?
...
Рейтинг: 0 / 0
Работа с Excel
    #36519155
Фотография meg17m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge,

Мне просто динамически сформировать файл(записать данные). И поставить ссылку на его скачивание с сервера.
...
Рейтинг: 0 / 0
Работа с Excel
    #36519174
Фотография meg17m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если попытатся создать новый документ:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<?php
$xls = new COM("Excel.Application");  // Создаем новый COM-объект
$xls->Application->Visible =  0 ;       // Заставляем его отобразиться
$xls->Workbooks->Add();
$range=$xls->Range("A1");             // Выбрали ячейку A1
$range->Value = "Проба записи";       // Вставили значение

// Сохраняем документ
$xls->Workbooks[ 1 ]->SaveAs("price1.xls");

$xls->Quit();                         //Закрываем приложение 
$xls->Release();                      //Высвобождаем объекты
$xls = Null; 
$range = Null;
?>
Пишет:
автор
Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Microsoft Office Excel<br/><b>Description:</b> Невозможно получить свойство SaveAs класса Workbook' in C:\apache\berg.ru\www\testprice.php:19 Stack trace: #0 C:\apache\berg.ru\www\testprice.php(19): variant->SaveAs('price1.xls') #1 {main} thrown in C:\apache\berg.ru\www\testprice.php on line 19
...
Рейтинг: 0 / 0
Работа с Excel
    #36519619
Фотография meg17m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может, кому будет интересно... Решил проблему очень просто: сохранил в .xls формате обычную html таблицу. Оказывается, он ее отлично воспроизводит, да еще и с оформлением (шириной колонок, цветами и т.п.)
...
Рейтинг: 0 / 0
Работа с Excel
    #36519726
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бойан. как думаешь экспорт в эксель все нормальные люди делают?
...
Рейтинг: 0 / 0
Работа с Excel
    #36520257
Фотография Малыхин Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Работа с Excel
    #38203051
bradow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот такая штука как сделать что бы файл отрывался не на сервере а на клиенте?
...
Рейтинг: 0 / 0
Работа с Excel
    #38203058
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bradowВот такая штука как сделать что бы файл отрывался не на сервере а на клиенте?
1. В данном случае "чтобы" пишется слитно.
2. Отдать файл клиенту.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Работа с Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]