PHPExcel — почему нет метода cell-> setStyle ()?

Я заметил, что разработчик PHPExcel читает этот форум, поэтому я форматирую свою проблему как прямой вопрос к нему.

Я пытаюсь взять полную стилизацию ячейки из шаблона Excel и скопировать ее в новый документ.

Насколько я вижу, есть метод Cell-> getStyle (), который возвращает объект стиля. Но нет способа применить этот объект стиля к другой ячейке.

Чтобы применить стиль, нужно использовать другую функцию, Cell-> getStyle (‘A1’) -> applyFromArray ($ styleArray). Эта функция принимает входные данные различного форматирования — массив стилей. И нет способа конвертировать из объекта стиля в массив стилей. Это почему? Почему здесь нет метода cell-> setStyle ()?

Я также заметил, что есть еще один метод, который может мне помочь, Worksheet-> duplicateStyle ():

$targetWorksheet->duplicateStyle(
$sourceWorksheet->getStyle($sourceCellCoordinate),
$targetCellCoordinate
);

Но при использовании этого метода для копирования TemplateA1-> TargetA1, а затем TemplateB2-> TargetB2, в тот момент, когда я копирую вторую ячейку, первая ячейка (TargetA1) будет повторно стилизована, чтобы также иметь второй стиль (TargetB2). Так что это тоже не работает.

Я потратил на это около часа, и мой следующий шаг, вероятно, будет заключаться в реализации объекта стиля -> преобразователя массива стиля.

Любая помощь будет оценена.

Спасибо!

2

Решение

На это уже ответили в этой внешней дискуссии:
https://phpexcel.codeplex.com/discussions/286662

Worksheet-> duplicateStyle () действительно не работает между файлами. Но есть обходной путь: временно добавьте исходный лист в целевой документ как новый лист, используя addExternalSheet (), скопируйте форматирование, затем снова удалите временный лист.

Я до сих пор не нашел ответа, почему нет метода cell-> setStyle ().

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]