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

More Related Content

What's hot

Excel
ExcelExcel
Excelxeet
 
общая презентация по 3 темам
общая презентация по 3 темамобщая презентация по 3 темам
общая презентация по 3 темамAlexey Laturinsky
 
Робота в Excel Excel 2007
Робота в Excel Excel 2007 Робота в Excel Excel 2007
Робота в Excel Excel 2007 irina tolstikova
 
Использование Open refine для работы с открытыми бюджетами и гос. контрактами
Использование Open refine для работы с открытыми бюджетами и гос. контрактамиИспользование Open refine для работы с открытыми бюджетами и гос. контрактами
Использование Open refine для работы с открытыми бюджетами и гос. контрактамиOlya Parkhimovich
 
3. Таблицы
3. Таблицы3. Таблицы
3. ТаблицыArtyukhova
 
0015
00150015
0015JIuc
 
0016
00160016
0016JIuc
 
ACCESS связывание таблиц на схеме данных
ACCESS связывание таблиц на схеме данныхACCESS связывание таблиц на схеме данных
ACCESS связывание таблиц на схеме данныхTatjana Amerhanova
 
электронная таблица
электронная таблицаэлектронная таблица
электронная таблицаmontrucchio
 
электронные таблицы
электронные таблицыэлектронные таблицы
электронные таблицыguest8851ad2
 
Excel1
Excel1Excel1
Excel1Nexa50
 

What's hot (20)

Excel
ExcelExcel
Excel
 
общая презентация по 3 темам
общая презентация по 3 темамобщая презентация по 3 темам
общая презентация по 3 темам
 
Робота в Excel Excel 2007
Робота в Excel Excel 2007 Робота в Excel Excel 2007
Робота в Excel Excel 2007
 
Использование Open refine для работы с открытыми бюджетами и гос. контрактами
Использование Open refine для работы с открытыми бюджетами и гос. контрактамиИспользование Open refine для работы с открытыми бюджетами и гос. контрактами
Использование Open refine для работы с открытыми бюджетами и гос. контрактами
 
Excel13
Excel13Excel13
Excel13
 
Stat 1 alpha
Stat 1 alphaStat 1 alpha
Stat 1 alpha
 
3. Таблицы
3. Таблицы3. Таблицы
3. Таблицы
 
0015
00150015
0015
 
Excel
ExcelExcel
Excel
 
0016
00160016
0016
 
ACCESS связывание таблиц на схеме данных
ACCESS связывание таблиц на схеме данныхACCESS связывание таблиц на схеме данных
ACCESS связывание таблиц на схеме данных
 
электронная таблица
электронная таблицаэлектронная таблица
электронная таблица
 
электронная таблица
электронная таблицаэлектронная таблица
электронная таблица
 
Access 02
Access 02Access 02
Access 02
 
электронные таблицы
электронные таблицыэлектронные таблицы
электронные таблицы
 
Занятие 5 Диаграммы в PowerPoint
Занятие 5 Диаграммы в PowerPointЗанятие 5 Диаграммы в PowerPoint
Занятие 5 Диаграммы в PowerPoint
 
Word
WordWord
Word
 
Excel1
Excel1Excel1
Excel1
 
Microsoft excel 2007
Microsoft excel 2007Microsoft excel 2007
Microsoft excel 2007
 
Filtr
FiltrFiltr
Filtr
 

Similar to О работе с документами .xls, .xlsx, .rtf

г9нпигоьлбд
г9нпигоьлбдг9нпигоьлбд
г9нпигоьлбдstudentka2015
 
Электронные таблицы
Электронные таблицыЭлектронные таблицы
Электронные таблицыAndrey Dolinin
 
работа в программе Excel
работа в программе Excelработа в программе Excel
работа в программе Excelannuschka
 
Microsoft excel
Microsoft excelMicrosoft excel
Microsoft excelDenoro55
 
Microsoft Office 2007 для пользователя.
Microsoft Office 2007 для пользователя.Microsoft Office 2007 для пользователя.
Microsoft Office 2007 для пользователя.StAlKeRoV
 
Учебное пособие по Ms Excel
Учебное пособие по Ms ExcelУчебное пособие по Ms Excel
Учебное пособие по Ms Excelaleksashka3
 
ekonomicheskie_finansovie_rascheti_excel.pdf
ekonomicheskie_finansovie_rascheti_excel.pdfekonomicheskie_finansovie_rascheti_excel.pdf
ekonomicheskie_finansovie_rascheti_excel.pdfValentinaTirsu1
 
методические указания к выполнению лабораторных работ в Excel
методические указания к выполнению лабораторных работ в Excelметодические указания к выполнению лабораторных работ в Excel
методические указания к выполнению лабораторных работ в ExcelMKoryakina
 
Microsoft excel 2007.odp
Microsoft excel 2007.odpMicrosoft excel 2007.odp
Microsoft excel 2007.odpDavaa Jagaa
 
14.цикл из пяти уроков информатики в 8 классе табличный процессор excel
14.цикл из пяти уроков информатики в 8 классе табличный процессор excel14.цикл из пяти уроков информатики в 8 классе табличный процессор excel
14.цикл из пяти уроков информатики в 8 классе табличный процессор excelKirrrr123
 

Similar to О работе с документами .xls, .xlsx, .rtf (14)

г9нпигоьлбд
г9нпигоьлбдг9нпигоьлбд
г9нпигоьлбд
 
Excel01
Excel01Excel01
Excel01
 
Excel
ExcelExcel
Excel
 
Электронные таблицы
Электронные таблицыЭлектронные таблицы
Электронные таблицы
 
работа в программе Excel
работа в программе Excelработа в программе Excel
работа в программе Excel
 
25
2525
25
 
Microsoft excel
Microsoft excelMicrosoft excel
Microsoft excel
 
Excel
ExcelExcel
Excel
 
Microsoft Office 2007 для пользователя.
Microsoft Office 2007 для пользователя.Microsoft Office 2007 для пользователя.
Microsoft Office 2007 для пользователя.
 
Учебное пособие по Ms Excel
Учебное пособие по Ms ExcelУчебное пособие по Ms Excel
Учебное пособие по Ms Excel
 
ekonomicheskie_finansovie_rascheti_excel.pdf
ekonomicheskie_finansovie_rascheti_excel.pdfekonomicheskie_finansovie_rascheti_excel.pdf
ekonomicheskie_finansovie_rascheti_excel.pdf
 
методические указания к выполнению лабораторных работ в Excel
методические указания к выполнению лабораторных работ в Excelметодические указания к выполнению лабораторных работ в Excel
методические указания к выполнению лабораторных работ в Excel
 
Microsoft excel 2007.odp
Microsoft excel 2007.odpMicrosoft excel 2007.odp
Microsoft excel 2007.odp
 
14.цикл из пяти уроков информатики в 8 классе табличный процессор excel
14.цикл из пяти уроков информатики в 8 классе табличный процессор excel14.цикл из пяти уроков информатики в 8 классе табличный процессор excel
14.цикл из пяти уроков информатики в 8 классе табличный процессор excel
 

More from Moscow.pm

Fast queue – как мы сделали свою очередь на perl и redis
Fast queue – как мы сделали свою очередь на perl и redisFast queue – как мы сделали свою очередь на perl и redis
Fast queue – как мы сделали свою очередь на perl и redisMoscow.pm
 
Пластилиновый код: как перестать кодить и начать жить
Пластилиновый код: как перестать кодить и начать житьПластилиновый код: как перестать кодить и начать жить
Пластилиновый код: как перестать кодить и начать житьMoscow.pm
 
Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013Moscow.pm
 
Язык Go для Perl-программистов v1.1. Александр Орловский. Moscow.pm 4 июля 2013
Язык Go для Perl-программистов v1.1. Александр Орловский. Moscow.pm 4 июля 2013Язык Go для Perl-программистов v1.1. Александр Орловский. Moscow.pm 4 июля 2013
Язык Go для Perl-программистов v1.1. Александр Орловский. Moscow.pm 4 июля 2013Moscow.pm
 
Разработка документации для RESTful API: как убить трёх зайцев одним. Moscow....
Разработка документации для RESTful API: как убить трёх зайцев одним. Moscow....Разработка документации для RESTful API: как убить трёх зайцев одним. Moscow....
Разработка документации для RESTful API: как убить трёх зайцев одним. Moscow....Moscow.pm
 
Особенности создания XS-модулей на языке C++. Владимир Тимофеев. Moscow.pm 4 ...
Особенности создания XS-модулей на языке C++. Владимир Тимофеев. Moscow.pm 4 ...Особенности создания XS-модулей на языке C++. Владимир Тимофеев. Moscow.pm 4 ...
Особенности создания XS-модулей на языке C++. Владимир Тимофеев. Moscow.pm 4 ...Moscow.pm
 
Ленивые итераторы для разбора разнородных данных. Михаил Озеров. Moscow.pm 6 ...
Ленивые итераторы для разбора разнородных данных. Михаил Озеров. Moscow.pm 6 ...Ленивые итераторы для разбора разнородных данных. Михаил Озеров. Moscow.pm 6 ...
Ленивые итераторы для разбора разнородных данных. Михаил Озеров. Moscow.pm 6 ...Moscow.pm
 
Преобразование Perl-структур в XML. Трефилова Екатерина. Moscow.pm 6 июля 2013
Преобразование Perl-структур в XML. Трефилова Екатерина. Moscow.pm 6 июля 2013Преобразование Perl-структур в XML. Трефилова Екатерина. Moscow.pm 6 июля 2013
Преобразование Perl-структур в XML. Трефилова Екатерина. Moscow.pm 6 июля 2013Moscow.pm
 
Не верь никому или разработка эффективных приложений (Как писать по настоящем...
Не верь никому или разработка эффективных приложений (Как писать по настоящем...Не верь никому или разработка эффективных приложений (Как писать по настоящем...
Не верь никому или разработка эффективных приложений (Как писать по настоящем...Moscow.pm
 
Play Perl — распределенная социальная игра для Perl-разработчиков. Вячеслав М...
Play Perl — распределенная социальная игра для Perl-разработчиков. Вячеслав М...Play Perl — распределенная социальная игра для Perl-разработчиков. Вячеслав М...
Play Perl — распределенная социальная игра для Perl-разработчиков. Вячеслав М...Moscow.pm
 
Динамический код: модифицируем таблицу символов во время выполнения. Елена Ши...
Динамический код: модифицируем таблицу символов во время выполнения. Елена Ши...Динамический код: модифицируем таблицу символов во время выполнения. Елена Ши...
Динамический код: модифицируем таблицу символов во время выполнения. Елена Ши...Moscow.pm
 

More from Moscow.pm (11)

Fast queue – как мы сделали свою очередь на perl и redis
Fast queue – как мы сделали свою очередь на perl и redisFast queue – как мы сделали свою очередь на perl и redis
Fast queue – как мы сделали свою очередь на perl и redis
 
Пластилиновый код: как перестать кодить и начать жить
Пластилиновый код: как перестать кодить и начать житьПластилиновый код: как перестать кодить и начать жить
Пластилиновый код: как перестать кодить и начать жить
 
Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
 
Язык Go для Perl-программистов v1.1. Александр Орловский. Moscow.pm 4 июля 2013
Язык Go для Perl-программистов v1.1. Александр Орловский. Moscow.pm 4 июля 2013Язык Go для Perl-программистов v1.1. Александр Орловский. Moscow.pm 4 июля 2013
Язык Go для Perl-программистов v1.1. Александр Орловский. Moscow.pm 4 июля 2013
 
Разработка документации для RESTful API: как убить трёх зайцев одним. Moscow....
Разработка документации для RESTful API: как убить трёх зайцев одним. Moscow....Разработка документации для RESTful API: как убить трёх зайцев одним. Moscow....
Разработка документации для RESTful API: как убить трёх зайцев одним. Moscow....
 
Особенности создания XS-модулей на языке C++. Владимир Тимофеев. Moscow.pm 4 ...
Особенности создания XS-модулей на языке C++. Владимир Тимофеев. Moscow.pm 4 ...Особенности создания XS-модулей на языке C++. Владимир Тимофеев. Moscow.pm 4 ...
Особенности создания XS-модулей на языке C++. Владимир Тимофеев. Moscow.pm 4 ...
 
Ленивые итераторы для разбора разнородных данных. Михаил Озеров. Moscow.pm 6 ...
Ленивые итераторы для разбора разнородных данных. Михаил Озеров. Moscow.pm 6 ...Ленивые итераторы для разбора разнородных данных. Михаил Озеров. Moscow.pm 6 ...
Ленивые итераторы для разбора разнородных данных. Михаил Озеров. Moscow.pm 6 ...
 
Преобразование Perl-структур в XML. Трефилова Екатерина. Moscow.pm 6 июля 2013
Преобразование Perl-структур в XML. Трефилова Екатерина. Moscow.pm 6 июля 2013Преобразование Perl-структур в XML. Трефилова Екатерина. Moscow.pm 6 июля 2013
Преобразование Perl-структур в XML. Трефилова Екатерина. Moscow.pm 6 июля 2013
 
Не верь никому или разработка эффективных приложений (Как писать по настоящем...
Не верь никому или разработка эффективных приложений (Как писать по настоящем...Не верь никому или разработка эффективных приложений (Как писать по настоящем...
Не верь никому или разработка эффективных приложений (Как писать по настоящем...
 
Play Perl — распределенная социальная игра для Perl-разработчиков. Вячеслав М...
Play Perl — распределенная социальная игра для Perl-разработчиков. Вячеслав М...Play Perl — распределенная социальная игра для Perl-разработчиков. Вячеслав М...
Play Perl — распределенная социальная игра для Perl-разработчиков. Вячеслав М...
 
Динамический код: модифицируем таблицу символов во время выполнения. Елена Ши...
Динамический код: модифицируем таблицу символов во время выполнения. Елена Ши...Динамический код: модифицируем таблицу символов во время выполнения. Елена Ши...
Динамический код: модифицируем таблицу символов во время выполнения. Елена Ши...
 

О работе с документами .xls, .xlsx, .rtf

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