Allow inclusion of a sep=; line when creating csv files
This commit is contained in:
parent
ee73d559b9
commit
b9ae7d1873
|
@ -71,6 +71,14 @@ class CSV extends BaseWriter implements IWriter
|
||||||
*/
|
*/
|
||||||
private $useBOM = false;
|
private $useBOM = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether to write a Separator line as the first line of the file
|
||||||
|
* sep=x
|
||||||
|
*
|
||||||
|
* @var boolean
|
||||||
|
*/
|
||||||
|
private $includeSeparatorLine = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether to write a fully Excel compatible CSV file.
|
* Whether to write a fully Excel compatible CSV file.
|
||||||
*
|
*
|
||||||
|
@ -111,15 +119,20 @@ class CSV extends BaseWriter implements IWriter
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->excelCompatibility) {
|
if ($this->excelCompatibility) {
|
||||||
fwrite($fileHandle, "\xEF\xBB\xBF"); // Enforce UTF-8 BOM Header
|
$this->setUseBOM(true); // Enforce UTF-8 BOM Header
|
||||||
|
$this->setIncludeSeparatorLine(true); // Set separator line
|
||||||
$this->setEnclosure('"'); // Set enclosure to "
|
$this->setEnclosure('"'); // Set enclosure to "
|
||||||
$this->setDelimiter(";"); // Set delimiter to a semi-colon
|
$this->setDelimiter(";"); // Set delimiter to a semi-colon
|
||||||
$this->setLineEnding("\r\n");
|
$this->setLineEnding("\r\n");
|
||||||
fwrite($fileHandle, 'sep=' . $this->getDelimiter() . $this->lineEnding);
|
}
|
||||||
} elseif ($this->useBOM) {
|
if ($this->useBOM) {
|
||||||
// Write the UTF-8 BOM code if required
|
// Write the UTF-8 BOM code if required
|
||||||
fwrite($fileHandle, "\xEF\xBB\xBF");
|
fwrite($fileHandle, "\xEF\xBB\xBF");
|
||||||
}
|
}
|
||||||
|
if ($this->includeSeparatorLine) {
|
||||||
|
// Write the separator line if required
|
||||||
|
fwrite($fileHandle, 'sep=' . $this->getDelimiter() . $this->lineEnding);
|
||||||
|
}
|
||||||
|
|
||||||
// Identify the range that we need to extract from the worksheet
|
// Identify the range that we need to extract from the worksheet
|
||||||
$maxCol = $sheet->getHighestDataColumn();
|
$maxCol = $sheet->getHighestDataColumn();
|
||||||
|
@ -231,6 +244,28 @@ class CSV extends BaseWriter implements IWriter
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get whether a separator line should be included
|
||||||
|
*
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public function getIncludeSeparatorLine()
|
||||||
|
{
|
||||||
|
return $this->includeSeparatorLine;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set whether a separator line should be included as the first line of the file
|
||||||
|
*
|
||||||
|
* @param boolean $pValue Use separator line? Defaults to false
|
||||||
|
* @return PHPExcel_Writer_CSV
|
||||||
|
*/
|
||||||
|
public function setIncludeSeparatorLine($pValue = false)
|
||||||
|
{
|
||||||
|
$this->includeSeparatorLine = $pValue;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get whether the file should be saved with full Excel Compatibility
|
* Get whether the file should be saved with full Excel Compatibility
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue