PHPExcel_Shared_Excel5

category PHPExcel
package PHPExcel_Shared
copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)

 Methods

Get the horizontal distance in pixels between two anchors The distanceX is found as sum of all the spanning columns widths minus correction for the two offsets

getDistanceX(\PHPExcel_Worksheet $sheet, string $startColumn, integer $startOffsetX, string $endColumn, integer $endOffsetX) : integer
Static

Parameters

$startColumn

string

$startOffsetX

integer

Offset within start cell measured in 1/1024 of the cell width

$endColumn

string

$endOffsetX

integer

Offset within end cell measured in 1/1024 of the cell width

Returns

integerHorizontal measured in pixels

Get the vertical distance in pixels between two anchors The distanceY is found as sum of all the spanning rows minus two offsets

getDistanceY(\PHPExcel_Worksheet $sheet, integer $startRow, integer $startOffsetY, integer $endRow, integer $endOffsetY) : integer
Static

Parameters

$startRow

integer

(1-based)

$startOffsetY

integer

Offset within start cell measured in 1/256 of the cell height

$endRow

integer

(1-based)

$endOffsetY

integer

Offset within end cell measured in 1/256 of the cell height

Returns

integerVertical distance measured in pixels

Convert 1-cell anchor coordinates to 2-cell anchor coordinates This function is ported from PEAR Spreadsheet_Writer_Excel with small modifications

oneAnchor2twoAnchor(\PHPExcel_Worksheet $sheet, string $coordinates, integer $offsetX, integer $offsetY, integer $width, integer $height) : array
Static

Calculate the vertices that define the position of the image as required by the OBJ record.

 +------------+------------+
 |   A    |   B  |

+-----+------------+------------+ | |(x1,y1) | | | 1 |(A1)._______|______ | | | | | | | | | | | +-----+----| BITMAP |-----+ | | | | | | 2 | |______________. | | | | (B2)| | | | (x2,y2)| +---- +------------+------------+

Example of a bitmap that covers some of the area from cell A1 to cell B2.

Based on the width and height of the bitmap we need to calculate 8 vars: $col_start, $row_start, $col_end, $row_end, $x1, $y1, $x2, $y2. The width and height of the cells are also variable and have to be taken into account. The values of $col_start and $row_start are passed in from the calling function. The values of $col_end and $row_end are calculated by subtracting the width and height of the bitmap from the width and height of the underlying cells. The vertices are expressed as a percentage of the underlying cell width as follows (rhs values are in pixels):

x1 = X / W *1024 y1 = Y / H *256 x2 = (X-1) / W *1024 y2 = (Y-1) / H *256

Where: X is distance from the left side of the underlying cell Y is distance from the top of the underlying cell W is the width of the cell H is the height of the cell

Parameters

$coordinates

string

E.g. 'A1'

$offsetX

integer

Horizontal offset in pixels

$offsetY

integer

Vertical offset in pixels

$width

integer

Width in pixels

$height

integer

Height in pixels

Returns

array

Get the width of a column in pixels.

sizeCol(\PHPExcel_Worksheet $sheet, string $col) : integer
Static

We use the relationship y = ceil(7x) where x is the width in intrinsic Excel units (measuring width in number of normal characters) This holds for Arial 10

Parameters

$sheet

\PHPExcel_Worksheet

The sheet

$col

string

The column

Returns

integerThe width in pixels

Convert the height of a cell from user's units to pixels.

sizeRow(\PHPExcel_Worksheet $sheet, integer $row) : integer
Static

By interpolation the relationship is: y = 4/3x. If the height hasn't been set by the user we use the default value. If the row is hidden we use a value of zero.

Parameters

$sheet

\PHPExcel_Worksheet

The sheet

$row

integer

The row index (1-based)

Returns

integerThe width in pixels