Изменение размера границ ячеек в PHPExcel
Стили границ PHPExcel определяются как константы в классе PHPExcel_Style_Border
. Твердые-это BORDER_THIN
, BORDER_MEDIUM
и BORDER_THICK
. Однако средние и толстые слишком толстые для моих нужд. Есть ли способ вручную задать толщину границы?
1 ответ:
Стили границ PHPExcel определяются для имитации стилей, доступных в самой MS Excel Спецификация ECMA OfficeOpenXML (3-е издание) определяет доступные стили границ в разделе ST_BorderStyle документа (раздел 18.18.3, страницы 2671-2673) и определяется в xsd следующим образом:
<xsd:simpleType name="ST_BorderStyle"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="none"/> <xsd:enumeration value="thin"/> <xsd:enumeration value="medium"/> <xsd:enumeration value="dashed"/> <xsd:enumeration value="dotted"/> <xsd:enumeration value="thick"/> <xsd:enumeration value="double"/> <xsd:enumeration value="hair"/> <xsd:enumeration value="mediumDashed"/> <xsd:enumeration value="dashDot"/> <xsd:enumeration value="mediumDashDot"/> <xsd:enumeration value="dashDotDot"/> <xsd:enumeration value="mediumDashDotDot"/> <xsd:enumeration value="slantDashDot"/> </xsd:restriction>
Это следует за списком стилей границ, определенных для формата файла BIFF, и я не могу найти никаких положений для определения пользовательского стиля или размеров.
EDIT
Сложный пограничный стиль просто добавляет информацию о цвете к форматированию
<xsd:complexType name="CT_Border"> <xsd:sequence> <xsd:element name="start" type="CT_BorderPr" minOccurs="0" maxOccurs="1"/> <xsd:element name="end" type="CT_BorderPr" minOccurs="0" maxOccurs="1"/> <xsd:element name="top" type="CT_BorderPr" minOccurs="0" maxOccurs="1"/> <xsd:element name="bottom" type="CT_BorderPr" minOccurs="0" maxOccurs="1"/> <xsd:element name="diagonal" type="CT_BorderPr" minOccurs="0" maxOccurs="1"/> <xsd:element name="vertical" type="CT_BorderPr" minOccurs="0" maxOccurs="1"/> <xsd:element name="horizontal" type="CT_BorderPr" minOccurs="0" maxOccurs="1"/> </xsd:sequence> <xsd:attribute name="diagonalUp" type="xsd:boolean" use="optional"/> <xsd:attribute name="diagonalDown" type="xsd:boolean" use="optional"/> <xsd:attribute name="outline" type="xsd:boolean" use="optional" default="true"/> </xsd:complexType> <xsd:complexType name="CT_BorderPr"> <xsd:sequence> <xsd:element name="color" type="CT_Color" minOccurs="0" maxOccurs="1"/> </xsd:sequence> <xsd:attribute name="style" type="ST_BorderStyle" use="optional" default="none"/> </xsd:complexType>