1. Introduction
  2. Tutoriel sur le
    formattage
  3. Workbook::close
  4. Workbook::&addWorksheet
  5. Workbook::&addFormat
  6. Workbook::&setTempDir
  7. Workbook::setCustomColor
  8. Worksheet::getName
  9. Worksheet::
    setInputEncoding
  10. Worksheet::select
  11. Worksheet::activate
  12. Worksheet::setFirstSheet
  13. Worksheet::protect
  14. Worksheet::setColumn
  15. Worksheet::setSelection
  16. Worksheet::freezePanes
  17. Worksheet::thawPanes
  18. Worksheet::setPortrait
  19. Worksheet::setLandscape
  20. Worksheet::setPaper
  21. Worksheet::setHeader
  22. Worksheet::setFooter
  23. Worksheet::
    centerHorizontally
  24. Worksheet::
    centerVertically
  25. Worksheet::setMargins
  26. Worksheet::setMargins_LR
  27. Worksheet::setMargins_TB
  28. Worksheet::setMarginLeft
  29. Worksheet::
    setMarginRight
  30. Worksheet::setMarginTop
  31. Worksheet::
    setMarginBottom
  32. Worksheet::repeatRows
  33. Worksheet::repeatColumns
  34. Worksheet::printArea
  35. Worksheet::hideGridlines
  36. Worksheet::
    printRowColHeaders
  37. Worksheet::fitToPages
  38. Worksheet::
    setHPagebreaks
  39. Worksheet::
    setVPagebreaks
  40. Worksheet::setZoom
  41. Worksheet::setPrintScale
  42. Worksheet::write
  43. Worksheet::writeNumber
  44. Worksheet::writeString
  45. Worksheet::writeNote
  46. Worksheet::writeBlank
  47. Worksheet::writeFormula
  48. Worksheet::writeUrl
  49. Worksheet::setRow
  50. Worksheet::mergeCells
  51. Worksheet::insertBitmap
  52. Worksheet::setOutline
  53. Spreadsheet_Excel_Writer
  54. send
  55. rowcolToCell
  56. Format::setAlign
  57. Format::setVAlign
  58. Format::setHAlign
  59. Format::setMerge
  60. Format::setBold
  61. Format::setBottom
  62. Format::setTop
  63. Format::setLeft
  64. Format::setRight
  65. Format::setBorder
  66. Format::setBorderColor
  67. Format::setBottomColor
  68. Format::setTopColor
  69. Format::setLeftColor
  70. Format::setRightColor
  71. Format::setFgColor
  72. Format::setBgColor
  73. Format::setColor
  74. Format::setPattern
  75. Format::setUnderline
  76. Format::setItalic
  77. Format::setSize
  78. Format::setTextWrap
  79. Format::setTextRotation
  80. Format::setNumFormat
  81. Format::setStrikeOut
  82. Format::setOutLine
  83. Format::setShadow
  84. Format::setScript
  85. Format::setFontFamily

Worksheet::mergeCells

Worksheet::mergeCells – Permet la fusion de cellules

Synopsis

require_once "Spreadsheet/Excel/Writer.php";

void Worksheet::mergeCells ( integer $first_row , integer $first_col , integer $last_row , integer $last_col )

Description

C'est une méthode Excel 97/2000. Elle est nécessaire pour effectuer des fusions de cellules plus compliquées que la méthode normale setAlign('merge'). Elle fusionne la region fournie par ses arguments.

Parameter

  • integer $first_row - Première ligne de la région à fusionner

  • integer $first_col - Première colonne de la région à fusionner

  • integer $last_row - Dernière ligne de la région à fusionner

  • integer $last_col - Dernière colonne de la région à fusionner

Note

This function can not be called statically.

Example

Exemple avec mergeCells()

<?php

?>
Cette méthode est utilisée pour définir la hauteur et le format XF d'une ligne (Previous) Insert une image bitmap 24bit dans une feuille de travail (Next)
Last updated: Sun, 29 Aug 2010 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

Note by: jon@webteaminc.com
This example will show how to merge cells and maintain the formatting. The basic idea is to format the cells and then apply the merge.

<code>

<?php
// Include PEAR::Spreadsheet_Excel_Writer
require_once "Spreadsheet/Excel/Writer.php";
 
// Create an instance
$xls =& new Spreadsheet_Excel_Writer();
 
// Send HTTP headers to tell the browser what's coming
$xls->send("test.xls");
$xls->setVersion(8);
// Add a worksheet to the file, returning an object to add data to
$sheet =& $xls->addWorksheet('Binary Count');
$sum=0;


// Create the format of the merged cells
// Using setAlign('center') works best (same as 'align' => 'center) 
$format_a = array('bordercolor' => 'red',
            
'left' => 1
            
'bottom' => 1,
            
'right' => 1,
            
'top' => 1,
            
'bold'=>'1',
            
'size' => '14',
            
'color'=>'green',
            
'align' => 'center');

// Add the format. This could be done all together.
// I keep it separated for ease of use
$format =& $xls->addFormat($format_a);

// Now apply the format to the cells you want to merge
// This is the same as:
//    $sheet->write(1,0,'',$format);
//    $sheet->write(1,1,'',$format);
//    $sheet->write(1,2,'',$format);
//    $sheet->write(1,3,'',$format);
//    $sheet->write(1,4,'',$format);
// I just think it's cleaner
for($n=0$n<=5$n++) $sheet->write(1,$n,'',$format);

// Write in the title or whatever you want in the merged cells
$sheet->write(1,0,'My Sample Report',$format);

// Now apply the merge to the cells
$sheet->mergeCells(1,0,1,5);

/*
******************************************
* The rest of this just populates the sheet
* with some data and totals it up.
******************************************
*/

// Write some numbers
for ( $i=2;$i<15;$i++ ) {
 
// Use PHP's decbin() function to convert integer to binary
 
if($i == ) {
      
$format =& $xls->addFormat(array('bold'=>'1'
                              
'size' => 
                              
'12'
                              
'color'=>'red'));
     
$sheet->write($i,0,decbin($i), $format);
     } else {
     
$sheet->write($i,0,decbin($i));
    }
$sum $sum decbin($i);
}

$format_b = array('bordercolor' => 'blue',
            
'left' => 1
            
'bottom' => 1,
            
'right' => 1,
            
'top' => 1,
            
'bold'=>'1',
            
'size' => '14',
            
'color'=>'green');
                
$format =& $xls->addFormat($format_b);
$sheet->write($i,0,$sum,$format);


$format_c = array('bordercolor' => 'blue',
            
'left' => 1
            
'bottom' => 1,
            
'right' => 1,
            
'top' => 1,
            
'bold'=>'1',
            
'size' => '14',
            
'color'=>'green',
            
'align' => 'center'
            
);
$format =& $xls->addFormat($format_c);
$sheet->write($i,1,'TOTAL',$format);

// Finish the spreadsheet, dumping it to the browser
$xls->close();
 
?>

</code>
Note by: ullrich@cs.tu-berlin.de
mergeCells has to be called after the write method().

See: http://pear.php.net/bugs/bug.php?id=1239