О работе с документами .xls, .xlsx, .rtf
TRANSCRIPT
![Page 1: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/1.jpg)
Работаем с документами. Часть 1
Excel 97-2003 Spreadsheet::ParseExcel Spreadsheet::WriteExcel
Excel::Template
Савенкова Наталья
![Page 2: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/2.jpg)
Excel 97-2003
2
![Page 3: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/3.jpg)
Excel 97-2003. Чтение файла
WorkBook
WorkSheet [ ]
Cells [ ] [ ] Format Font
3
*SP - Spreadsheet::ParseExcel
SP::Workbook
SP::WorkSheet
SP::Cell SP::Format SP::Font
![Page 4: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/4.jpg)
Excel 97-2003. Чтение файла
4
Это пример идеального случая
Такие и правда бывают. Но редко. Очень редко.
![Page 5: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/5.jpg)
Excel 97-2003. Чтение файла
5
![Page 6: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/6.jpg)
Excel 97-2003. Чтение файла
6
![Page 7: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/7.jpg)
Excel 97-2003. Чтение файла
7
![Page 8: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/8.jpg)
Excel 97-2003. Чтение файла
Суровая реальность
8
![Page 9: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/9.jpg)
Excel 97-2003. Чтение файла
9
![Page 10: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/10.jpg)
Excel 97-2003. Чтение файла
10
Вложенность строк, заливки ячеек, разные цвета и размеры шрифта, ячейки с форматом «Денежный»
![Page 11: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/11.jpg)
Excel 97-2003. Чтение файла
11
![Page 12: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/12.jpg)
Excel 97-2003. Чтение файла
12
У нас теперь есть: color_fill font_color font_size value_unformatted level
![Page 13: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/13.jpg)
Excel 97-2003. Чтение файла
13
У нас теперь есть: color_fill font_color font_size value_unformatted level
![Page 14: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/14.jpg)
Excel 97-2003. Чтение файла
14
Как загрузить картинки? Я не знаю. А вы?
![Page 15: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/15.jpg)
Excel 97-2003. Запись файла
Легко и непринужденно
Excel::Template
https://metacpan.org/pod/Excel::Template
15
![Page 16: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/16.jpg)
Excel 97-2003. Запись файла
16
![Page 17: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/17.jpg)
Excel 97-2003. Запись файла
17
- Формат можно установить на лист, строку, ячейку
- Синтаксис как в HTML-Template
- Разные способы обращения к переменным
![Page 18: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/18.jpg)
Excel 97-2003. Запись файла
18
<format color="red">
<format bold="1" align="center">
<format num_format="# ##0.00">
![Page 19: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/19.jpg)
Excel 97-2003. Запись файла
19
<format color="red">
<format bold="1" align="center">
<format num_format="# ##0.00">
Но есть проблема с A5! Excel считает это числом, но это строка. И
пользователям отчета это не нравится >:[
![Page 20: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/20.jpg)
Excel 97-2003. Запись файла
20
<format color="red">
<format bold="1" align="center">
<format num_format="# ##0.00">
Но есть проблема с A5! Excel считает это числом, но это строка. И
пользователям отчета это не нравится >:[
… это workaround
![Page 21: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/21.jpg)
Excel 97-2003. Запись файла
Неудобства:
- Пропускает ошибки в именах переменных
- Не умеет merge
- И еще много всего не умеет
А в целом очень удобный и быстрый инструмент.
21
![Page 22: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/22.jpg)
Excel 97-2003. Запись файла
Счет-фактура с делением на страницы
22
![Page 23: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/23.jpg)
Excel 97-2003. Запись файла
Путь боли и всемогущества.
Spreadsheet::WriteExcel
https://metacpan.org/pod/Spreadsheet::WriteExcel
23
![Page 24: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/24.jpg)
Excel 97-2003. Запись файла
24
Объединенные ячейки
Числовой формат
Разные заливки
Формула
Картинка
![Page 25: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/25.jpg)
Excel 97-2003. Запись файла
- Подготовили демо-данные - Создали книгу и добавили лист - Установили ширину колонок
25
![Page 26: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/26.jpg)
Excel 97-2003. Запись файла
26
![Page 27: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/27.jpg)
Excel 97-2003. Запись файла
Подготовили форматы для тела таблицы с товарами. Общая часть для краткости вынесена в common.
27
![Page 28: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/28.jpg)
Excel 97-2003. Запись файла
Пишем товары
28
Выбираем
формат в
зависимости от
количества
![Page 29: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/29.jpg)
Excel 97-2003. Запись файла
Считаем итого
29
ГОТОВО!
![Page 30: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/30.jpg)
Excel 97-2003. Запись файла
30
Очень симпатично!
![Page 31: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/31.jpg)
Excel 97-2003. Запись файла
Хм. НЕЛЬЗЯ – Использовать один и тот же формат для простых и объединенных ячеек
31
![Page 32: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/32.jpg)
Excel 97-2003. Запись файла
ХМ! Картинка вставляется не в ячейку, а где-то «в том месте», управлять которым можно «от левого верхнего угла текущей ячейки».
А вот это вообще задать невозможно
32
Вот что будет, если высота строк будет меньше высоты картинок
![Page 33: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/33.jpg)
Excel 97-2003. Запись файла
«PNG, JPEG or BMP format»
А как же GIF?
33
![Page 34: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/34.jpg)
Excel 97-2003. Запись файла
Для простоты? Кодировка цветов. Сводит с ума, хотя можно и RGB:
$workbook->set_custom_color(40, '#FF6600' );
Иногда я делаю так:
34
![Page 35: О работе с документами .xls, .xlsx, .rtf](https://reader031.vdocuments.mx/reader031/viewer/2022013108/55ad63fb1a28ab681b8b478e/html5/thumbnails/35.jpg)
Спасибо =) Код тут: https://github.com/name2rnd
35