LeKoala\ExcelImportExport\ExcelBulkLoader
Use PHPSpreadsheet to expand BulkLoader file format support
- Author: Koala
Synopsis
class ExcelBulkLoader
extends BulkLoader
{
- // members
- public string $delimiter = ',';
- public string $enclosure = '"';
- public boolean $hasHeaderRow = true;
- protected $uploadFile = NULL;
- protected DataObject $singleton = NULL;
- protected array $db = ;
- protected string $fileType = 'xlsx';
- // methods
- public BulkLoader_Result preview()
- public BulkLoader_Result load()
- protected string getUploadFileExtension()
- protected array mergeRowWithHeaders()
- protected Csv getCsvReader()
- protected void processAll()
- protected int processRecord()
- public mixed findExistingObject()
- public boolean hasHeaderRow()
- public void setFileType()
- public string getFileType()
Hierarchy
Extends
- SilverStripe\Dev\BulkLoader
Tasks
Line | Task |
---|---|
331 | better message support |
Members
protected
- $db — array
- $fileType
—
string
Type of file if not able to determine through uploaded file - $singleton — SilverStripe\ORM\DataObject
- $uploadFile
—
array
The uploaded file infos
public
- $delimiter
—
string
Delimiter character (Default: comma). - $enclosure
—
string
Enclosure character (Default: doublequote) - $hasHeaderRow
—
boolean
Identifies if the file has a header row.
Methods
protected
- getCsvReader()
- getUploadFileExtension()
- mergeRowWithHeaders() — Merge a row with its headers
- processAll()
- processRecord()
public
- findExistingObject() — Find an existing objects based on one or more uniqueness columns specified via {@link self::$duplicateChecks}.
- getFileType() — Get file type (default is xlsx)
- hasHeaderRow() — Determine whether any loaded files should be parsed with a header-row (otherwise we rely on {@link self::$columnMap}.
- load() — Load the given file via {@link self::processAll()} and {@link self::processRecord()}.
- preview()
- setFileType() — Set file type as import