Pull to refresh

Как создавать документы Microsoft Office при помощи PHP

Reading time 2 min
Views 11K
Original author: Justin Silverton
Есть два основных способа построить Excel, Word, и PowerPoint используя PHP. Первый — используя библиотеку COM (только под Windows сервером) и другой — используя более стандартизированные форматы, такие как CSV и HTML.

Динамической создание Word документа:


<?php
$word = new COM("word.application");

$word->Visible = 0;
$word->Documents->Add();
$word->Selection->PageSetup->LeftMargin = '2"';
$word->Selection->PageSetup->RightMargin = '2"';

//Setup the font
$word->Selection->Font->Name = 'Verdana';
$word->Selection->Font->Size = 8;

//Write some text
$word->Selection->TypeText("This is a test document");
//Save the document as DOC file
$word->Documents[1]->SaveAs("c:\\docs\\test1.doc");

//quit and release COM resources
$word->quit();
$word->Release();
$word = null;

?>


Динамическое создание Excel документа:


<?php
$excel = new COM("excel.application");
$excel->Visible = 0;

//Create a new workbook
$wkb = $excel->Workbooks->Add();
$sheet = $wkb->Worksheets(1);

//This code adds the text 'myvalue' on row 2, column 4
$sheet->activate;
$cell = $sheet->Cells(2,4);
$cell->Activate;
$cell->value = 'myvalue';

$wkb->SaveAs("C:\docs\test.xls");

//close and free resources
$wkb->Close(false);
$excel->Workbooks->Close();
$excel->Quit();
?>

Динамическое создание презентации Powerpoint


<?php
$powerpnt = new COM("powerpoint.application");
//Creating a new presentation
$pres=$powerpnt->Presentations->Add();
//Adds the first slide. "12" means blank slide
$pres->Slides->Add(1,12);
//Adds another slide. "10" means a slide with a clipart and text
$pres->Slides->Add(2,10);
//Adds a textbox
$pres->Slides[1]->Shapes->AddTextbox(1,20,50,300,40);
//Save the document as PPT file
$powerpnt->Presentations[1]->SaveAs("C:\Docs\test1.ppt");

//free resources and quit powerpoint
$powerpnt->quit();
?>


Как найти функции Word, Excel, и Powerpoint


Текст далее рассказывает как найти функции работы с Microsoft Office components из-под PHP:

  1. Откройте Microsoft Word, Excel, или Powerpoint
  2. Нажмите Alt+F11 для того, что бы начать Visual Basic Editor
  3. Нажмите F2
  4. Найдите «ThisDocument» слева. В правом фрейме вы увидите возможные переменные и функции, которые могут быть использованы для COM объекта

Tags:
Hubs:
+14
Comments 46
Comments Comments 46

Articles