初始化PHP-Xlswrite扩展
This commit is contained in:
723
ide-helper/helper.php
Normal file
723
ide-helper/helper.php
Normal file
@ -0,0 +1,723 @@
|
||||
<?php
|
||||
|
||||
namespace Vtiful\Kernel;
|
||||
|
||||
/**
|
||||
* Class Excel
|
||||
*
|
||||
* @author viest
|
||||
*
|
||||
* @package Vtiful\Kernel
|
||||
*/
|
||||
class Excel
|
||||
{
|
||||
const TYPE_STRING = 0x01;
|
||||
const TYPE_INT = 0x02;
|
||||
const TYPE_DOUBLE = 0x04;
|
||||
const TYPE_TIMESTAMP = 0x08;
|
||||
|
||||
const SKIP_NONE = 0x00;
|
||||
const SKIP_EMPTY_ROW = 0x01;
|
||||
const SKIP_EMPTY_CELLS = 0x02;
|
||||
|
||||
const GRIDLINES_HIDE_ALL = 0;
|
||||
const GRIDLINES_SHOW_SCREEN = 1;
|
||||
const GRIDLINES_SHOW_PRINT = 2;
|
||||
const GRIDLINES_SHOW_ALL = 3;
|
||||
|
||||
/**
|
||||
* Excel constructor.
|
||||
*
|
||||
* @param array $config
|
||||
*/
|
||||
public function __construct(array $config)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* File Name
|
||||
*
|
||||
* @param string $fileName
|
||||
* @param string $sheetName
|
||||
*
|
||||
* @return Excel
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function fileName(string $fileName, string $sheetName = 'Sheet1'): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Const memory model
|
||||
*
|
||||
* @param string $fileName
|
||||
* @param string $sheetName
|
||||
*
|
||||
* @return Excel
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function constMemory(string $fileName, string $sheetName = 'Sheet1'): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a new worksheet to a workbook.
|
||||
*
|
||||
* The worksheet name must be a valid Excel worksheet name, i.e. it must be
|
||||
* less than 32 character and it cannot contain any of the characters:
|
||||
*
|
||||
* / \ [ ] : * ?
|
||||
*
|
||||
* In addition, you cannot use the same, case insensitive, `$sheetName` for more
|
||||
* than one worksheet.
|
||||
*
|
||||
* @param string|NULL $sheetName
|
||||
*
|
||||
* @return Excel
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function addSheet(?string $sheetName): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checkout worksheet
|
||||
*
|
||||
* @param string $sheetName
|
||||
*
|
||||
* @return Excel
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function checkoutSheet(string $sheetName): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Insert data on the first line of the worksheet
|
||||
*
|
||||
* @param array $header
|
||||
*
|
||||
* @return Excel
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function header(array $header): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Insert data on the worksheet
|
||||
*
|
||||
* @param array $data
|
||||
*
|
||||
* @return Excel
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function data(array $data): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate file
|
||||
*
|
||||
* @return string
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function output(): string
|
||||
{
|
||||
return 'FilePath';
|
||||
}
|
||||
|
||||
/**
|
||||
* Get file resource
|
||||
*
|
||||
* @return resource
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function getHandle()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Auto filter on the worksheet
|
||||
*
|
||||
* @param string $range
|
||||
*
|
||||
* @return Excel
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function autoFilter(string $range): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Insert data on the cell
|
||||
*
|
||||
* @param int $row
|
||||
* @param int $column
|
||||
* @param int|string|double $data
|
||||
* @param string|null $format
|
||||
* @param resource|null $formatHandle
|
||||
*
|
||||
* @return Excel
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function insertText(int $row, int $column, $data, string $format = NULL, $formatHandle = NULL): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Insert date on the cell
|
||||
*
|
||||
* @param int $row
|
||||
* @param int $column
|
||||
* @param int $timestamp
|
||||
* @param string|NULL $format
|
||||
* @param resource|null $formatHandle
|
||||
*
|
||||
* @return Excel
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function insertDate(int $row, int $column, int $timestamp, string $format = NULL, $formatHandle = NULL): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Insert chart on the cell
|
||||
*
|
||||
* @param int $row
|
||||
* @param int $column
|
||||
* @param resource $chartResource
|
||||
*
|
||||
* @return Excel
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function insertChart(int $row, int $column, $chartResource): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Insert url on the cell
|
||||
*
|
||||
* @param int $row
|
||||
* @param int $column
|
||||
* @param string $url
|
||||
* @param resource|null $formatHandle
|
||||
*
|
||||
* @return Excel
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function insertUrl(int $row, int $column, string $url, $formatHandle = NULL): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Insert image on the cell
|
||||
*
|
||||
* @param int $row
|
||||
* @param int $column
|
||||
* @param string $imagePath
|
||||
* @param float $width
|
||||
* @param float $height
|
||||
*
|
||||
* @return Excel
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function insertImage(int $row, int $column, string $imagePath, float $width = 1, float $height = 1): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Insert Formula on the cell
|
||||
*
|
||||
* @param int $row
|
||||
* @param int $column
|
||||
* @param string $formula
|
||||
*
|
||||
* @return Excel
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function insertFormula(int $row, int $column, string $formula): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Merge cells
|
||||
*
|
||||
* @param string $range
|
||||
* @param string $data
|
||||
*
|
||||
* @return Excel
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function MergeCells(string $range, string $data): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set column cells width or format
|
||||
*
|
||||
* @param string $range
|
||||
* @param float $cellWidth
|
||||
* @param resource|null $formatHandle
|
||||
*
|
||||
* @return Excel
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function setColumn(string $range, float $cellWidth, $formatHandle = NULL): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set row cells height or format
|
||||
*
|
||||
* @param string $range
|
||||
* @param float $cellHeight
|
||||
* @param resource|null $formatHandle
|
||||
*
|
||||
* @return Excel
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function setRow(string $range, float $cellHeight, $formatHandle = NULL): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Open xlsx file
|
||||
*
|
||||
* @param string $fileName
|
||||
*
|
||||
* @return Excel
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function openFile(string $fileName): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Open sheet
|
||||
*
|
||||
* default open first sheet
|
||||
*
|
||||
* @param string|NULL $sheetName
|
||||
* @param int skipFlag
|
||||
*
|
||||
* @return Excel
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function openSheet(string $sheetName = NULL, int $skipFlag = 0x00): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set row cell data type
|
||||
*
|
||||
* @param array $types
|
||||
*
|
||||
* @return Excel
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function setType(array $types): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Read values from the sheet
|
||||
*
|
||||
* @return array
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function getSheetData(): array
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
* Read values from the sheet
|
||||
*
|
||||
* @return array
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function nextRow(): array
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
* Next Cell In Callback
|
||||
*
|
||||
* @param callable $callback function(int $row, int $cell, string $data)
|
||||
* @param string|NULL $sheetName sheet name
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function nextCellCallback(callable $callback, string $sheetName = NULL): void
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Freeze panes
|
||||
*
|
||||
* freezePanes(1, 0); // Freeze the first row.
|
||||
* freezePanes(0, 1); // Freeze the first column.
|
||||
* freezePanes(1, 1); // Freeze first row/column.
|
||||
*
|
||||
* @param int $row
|
||||
* @param int $column
|
||||
*
|
||||
* @return $this
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function freezePanes(int $row, int $column): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gridline
|
||||
*
|
||||
* Display or hide screen and print gridlines using one of the values of
|
||||
*
|
||||
* \Vtiful\Kernel\Excel::GRIDLINES_HIDE_ALL
|
||||
* \Vtiful\Kernel\Excel::GRIDLINES_SHOW_ALL
|
||||
* \Vtiful\Kernel\Excel::GRIDLINES_SHOW_PRINT
|
||||
* \Vtiful\Kernel\Excel::GRIDLINES_SHOW_SCREEN
|
||||
*
|
||||
* Excel default is that the screen gridlines are on and the printed worksheet is off.
|
||||
*
|
||||
* @param int $option
|
||||
*
|
||||
* @return $this
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function gridline(int $option): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Worksheet zoom
|
||||
*
|
||||
* Set the worksheet zoom factor in the range 10 <= zoom <= 400:
|
||||
*
|
||||
* @param int $scale
|
||||
*
|
||||
* @return $this
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function zoom(int $scale): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Class Format
|
||||
*
|
||||
* @author viest
|
||||
*
|
||||
* @package Vtiful\Kernel
|
||||
*/
|
||||
class Format
|
||||
{
|
||||
const UNDERLINE_SINGLE = 0x00;
|
||||
const UNDERLINE_DOUBLE = 0x00;
|
||||
const UNDERLINE_SINGLE_ACCOUNTING = 0x00;
|
||||
const UNDERLINE_DOUBLE_ACCOUNTING = 0x00;
|
||||
|
||||
const FORMAT_ALIGN_LEFT = 0x00;
|
||||
const FORMAT_ALIGN_CENTER = 0x00;
|
||||
const FORMAT_ALIGN_RIGHT = 0x00;
|
||||
const FORMAT_ALIGN_FILL = 0x00;
|
||||
const FORMAT_ALIGN_JUSTIFY = 0x00;
|
||||
const FORMAT_ALIGN_CENTER_ACROSS = 0x00;
|
||||
const FORMAT_ALIGN_DISTRIBUTED = 0x00;
|
||||
const FORMAT_ALIGN_VERTICAL_TOP = 0x00;
|
||||
const FORMAT_ALIGN_VERTICAL_BOTTOM = 0x00;
|
||||
const FORMAT_ALIGN_VERTICAL_CENTER = 0x00;
|
||||
const FORMAT_ALIGN_VERTICAL_JUSTIFY = 0x00;
|
||||
const FORMAT_ALIGN_VERTICAL_DISTRIBUTED = 0x00;
|
||||
|
||||
const COLOR_BLACK = 0x00;
|
||||
const COLOR_BLUE = 0x00;
|
||||
const COLOR_BROWN = 0x00;
|
||||
const COLOR_CYAN = 0x00;
|
||||
const COLOR_GRAY = 0x00;
|
||||
const COLOR_GREEN = 0x00;
|
||||
const COLOR_LIME = 0x00;
|
||||
const COLOR_MAGENTA = 0x00;
|
||||
const COLOR_NAVY = 0x00;
|
||||
const COLOR_ORANGE = 0x00;
|
||||
const COLOR_PINK = 0x00;
|
||||
const COLOR_PURPLE = 0x00;
|
||||
const COLOR_RED = 0x00;
|
||||
const COLOR_SILVER = 0x00;
|
||||
const COLOR_WHITE = 0x00;
|
||||
const COLOR_YELLOW = 0x00;
|
||||
|
||||
const PATTERN_NONE = 0x00;
|
||||
const PATTERN_SOLID = 0x00;
|
||||
const PATTERN_MEDIUM_GRAY = 0x00;
|
||||
const PATTERN_DARK_GRAY = 0x00;
|
||||
const PATTERN_LIGHT_GRAY = 0x00;
|
||||
const PATTERN_DARK_HORIZONTAL = 0x00;
|
||||
const PATTERN_DARK_VERTICAL = 0x00;
|
||||
const PATTERN_DARK_DOWN = 0x00;
|
||||
const PATTERN_DARK_UP = 0x00;
|
||||
const PATTERN_DARK_GRID = 0x00;
|
||||
const PATTERN_DARK_TRELLIS = 0x00;
|
||||
const PATTERN_LIGHT_HORIZONTAL = 0x00;
|
||||
const PATTERN_LIGHT_VERTICAL = 0x00;
|
||||
const PATTERN_LIGHT_DOWN = 0x00;
|
||||
const PATTERN_LIGHT_UP = 0x00;
|
||||
const PATTERN_LIGHT_GRID = 0x00;
|
||||
const PATTERN_LIGHT_TRELLIS = 0x00;
|
||||
const PATTERN_GRAY_125 = 0x00;
|
||||
const PATTERN_GRAY_0625 = 0x00;
|
||||
|
||||
const BORDER_THIN = 0x00;
|
||||
const BORDER_MEDIUM = 0x00;
|
||||
const BORDER_DASHED = 0x00;
|
||||
const BORDER_DOTTED = 0x00;
|
||||
const BORDER_THICK = 0x00;
|
||||
const BORDER_DOUBLE = 0x00;
|
||||
const BORDER_HAIR = 0x00;
|
||||
const BORDER_MEDIUM_DASHED = 0x00;
|
||||
const BORDER_DASH_DOT = 0x00;
|
||||
const BORDER_MEDIUM_DASH_DOT = 0x00;
|
||||
const BORDER_DASH_DOT_DOT = 0x00;
|
||||
const BORDER_MEDIUM_DASH_DOT_DOT = 0x00;
|
||||
const BORDER_SLANT_DASH_DOT = 0x00;
|
||||
|
||||
/**
|
||||
* Format constructor.
|
||||
*
|
||||
* @param resource $fileHandle
|
||||
*/
|
||||
public function __construct($fileHandle)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Wrap
|
||||
*
|
||||
* @return Format
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function wrap(): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Bold
|
||||
*
|
||||
* @return Format
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function bold(): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Italic
|
||||
*
|
||||
* @return Format
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function italic(): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Cells border
|
||||
*
|
||||
* @param int $style const BORDER_***
|
||||
*
|
||||
* @return Format
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function border(int $style): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Align
|
||||
*
|
||||
* @param int ...$style const FORMAT_ALIGN_****
|
||||
*
|
||||
* @return Format
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function align(...$style): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Number format
|
||||
*
|
||||
* @param string $format
|
||||
*
|
||||
* #,##0
|
||||
*
|
||||
* @return Format
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function number(string $format): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Font color
|
||||
*
|
||||
* @param int $color const COLOR_****
|
||||
*
|
||||
* @return Format
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function fontColor(int $color): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Font
|
||||
*
|
||||
* @param string $fontName
|
||||
*
|
||||
* @return Format
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function font(string $fontName): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Font size
|
||||
*
|
||||
* @param float $size
|
||||
*
|
||||
* @return Format
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function fontSize(float $size): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* String strikeout
|
||||
*
|
||||
* @return Format
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function strikeout(): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Underline
|
||||
*
|
||||
* @param int $style const UNDERLINE_****
|
||||
*
|
||||
* @return Format
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function underline(int $style): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Cell background
|
||||
*
|
||||
* @param int $color const COLOR_****
|
||||
* @param int $pattern const PATTERN_****
|
||||
*
|
||||
* @return Format
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function background(int $color, int $pattern = self::PATTERN_SOLID): self
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Format to resource
|
||||
*
|
||||
* @return resource
|
||||
*
|
||||
* @author viest
|
||||
*/
|
||||
public function toResource()
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user