powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / com-excel-php
4 сообщений из 4, страница 1 из 1
com-excel-php
    #32840133
копосов нв
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
написан скрипт который формирует excel файл и сохраняет его по указанному пути через COM.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
<html>
<head>
  <title></title>
</head>
<body>
<?php
//Kober - стандартный пример из хелпа
$excel = new COM("Excel.Application") or die("Unable to instanciate Excell");
//$excel->Application->Visible =  1 ;
//$excel->Visible =  1 ;
$excel->WorkBooks->Add();
$rangeValue = $excel->Range("A1");
$rangeValue->Value = "В выделенном блоке текст будет жирный, подчеркнутый, наклонный";
$rangeValue = $excel->Range("A2");
$rangeValue->Value = "Шрифт будет иметь высоту 12";
$rangeValue = $excel->Range("A3");
$rangeValue->Value = "Имя шрифта - Times New Roman";

$range=$excel->Range("A1:J10");               // Определяем область ячеек
$range->Select();                           // Выделяем ее
$fontRange=$excel->Selection();               // Присваиваем переменной выделенную область
// Далее задаем параметры форматирования текста в выделенной области
$fontRange->Font->Bold = true;              // Жирный
$fontRange->Font->Italic = true;            // Курсив
$fontRange->Font->Underline = true;         // Подчеркнутый
$fontRange->Font->Name = "Times New Roman"; // Имя шрифта
$fontRange->Font->Size =  12 ;

$min_color_index= 0 ;                  // Начальный индекс цвета
$max_color_index= 55 ;                 // Конечный индекс цвета
$start_position= 2 ;                   // Номер позиции, с которой начнется показ
                                     // индексов цвета
// Выводим надпись "Номер цвета"
$range = $excel->Range("A1:B1");
$range->Font->Bold = true;
$range = $excel->Range("A1");
$range->Value = "Номера цветов";
// Выводим значения индексов цвета и окрашиваем эти значения
// соответствующим цветом
for($i=$min_color_index;$i<=$max_color_index;$i++) {
  $range = $excel->Range("A".($i+$start_position));
  $range->Value = "ColorIndex = ".$i;
  $range->Font->ColorIndex = $i;
};
$excel->WorkBooks[ 1 ]->SaveAs("C:\\temp\\TestPHP".rand( 1 , 10000 ).".xls");
$excel->Quit();
$excel = null;
?>
</body>
</html>

Большая просьба ко всем кто работал с чем-то подобным, нужен скрипт который, работает на много корректней, т.к. в этом скрипте не поверяется
-сущест или нет файл с таким именем
-не обеспечивает проверку на зависание процесса Excel.exe
-не удаляет файлы (предполагается что файл следует после сохранения отдать пользователю и удалить)
и д.р.
Да, может подскажите где прочесть св-ва создаваемого объекта в частности Excel (WorkBooks[1], Value, Font и д.р.)

Буду очень благодарен всем кто поможет (примеры, url'ы)
...
Рейтинг: 0 / 0
com-excel-php
    #32840301
Фотография hell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Свойства читаешь в либом COM Browser или в реестре, где они собс-но и хранятся, а примера врядли достанешь, т.к. 99% php имеют сервера на Unix и по этой причине с супер-технологией OLE Automation дела не имеют
...
Рейтинг: 0 / 0
com-excel-php
    #32840459
копосов нв
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hellСвойства читаешь в либом COM Browser или в реестре, где они собс-но и хранятся, а примера врядли достанешь, т.к. 99% php имеют сервера на Unix и по этой причине с супер-технологией OLE Automation дела не имеют

где именно в реестре?
...
Рейтинг: 0 / 0
com-excel-php
    #32840876
Фотография Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор-сущест или нет файл с таким именем
существует ли где??? на машине сервера или пользователя?
на сервере сам сделай проверку, а у пользователя ты не сможешь проверять существует или нет фаил, единственный выход делать другой Content-type:

Код: plaintext
1.
Content-type: application/vnd.ms-excel\n
Content-Disposition: attachment; filename=$filename\n

+ врядли будет у тебя совпадение, т.к. у тебя в коде присутствует функция rand()

автор-не обеспечивает проверку на зависание процесса Excel.exe
?!?!

автор-не удаляет файлы (предполагается что файл следует после сохранения отдать пользователю и удалить)
и д.р.
какой алгоритм передачи файла пользователю? почему ты не можеш сам написать пару строчек для удаления файла ?
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / com-excel-php
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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