Skip to content

Commit f9afd7c

Browse files
authored
Create README_RUS.md
1 parent 2a45f2a commit f9afd7c

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

README_RUS.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
2+
[README in English](README.md)
3+
# Power-Query-Excel-Formats
4+
Коллекция кода на языке M для извлечения разных форматов из листов Excel в Power Query / Power BI
5+
6+
7+
## Проблема
8+
Информация на листах в книгах Excel часто имеет дополнительные метаданные, важные при анализе. Эти метаданные могут храниться в различных формах, в большинстве случаев - в виде форматов ячеек, числовых форматов, цвета и так далее. Часто формат строки, столбца или ячейки является критичным элементом набора данных.
9+
10+
В настоящий момент (август 2017) Microsoft Power Query и соответствующий редактор запросов в Microsoft Power BI не позволяет пользователям стандартными средствами извлекать из книг и листов Excel информацию о примененном форматировании листов и ячеек, за исключением некоторых типов данных (например, Дата).
11+
12+
Большое разнообразие форматов и сложность их извлечения сторонними программами (а не нативными средствами Excel), такими как Power BI или Power Query, приводит к потере значительной части информации при импорте. Дополнительной проблемой является сопоставление извлеченных форматов с табличными данными Power Query для дальнейшего использования.
13+
14+
---
15+
## Задачи и методы
16+
### Задачи
17+
18+
Создаем набор отдельных функций, позволяющих извлечь заданную информацию о формате листа и/или ячейки.
19+
20+
В перспективе - создаем универсальные функции:
21+
- для информации о листе (инфо о строках, столбцах, листе в целом)
22+
- для информации о ячейках (форматирование цветом, шрифт, выравнивание, числовые форматы, отступы и т.п.)
23+
24+
Универсальность обусловлена одинаковыми применяемыми методами (распаковка и разбор XML), различный вывод в перспективе может задаваться параметрами функций.
25+
26+
### Методы
27+
#### Распаковка
28+
29+
Основной метод - распаковка файла XLSX/XLSM как архива и работа с XML документами внутри.
30+
Распаковка осуществляется функцией [UnZip.pq](UnZip.pq), автор Mike White. В принципе, можно использовать любой аналог для работы с zip-архивами в Power Query.
31+
32+
#### Разбор XML
33+
34+
После распаковки на вход в основную функцию поступает набор XML файлов (binary).
35+
Возможные способы разбора - при помощи встроенных функций Xml.Tables или Xml.Document, либо при помощи других способов парсинга XML.
36+
37+
* **Основная проблема**: внутри книги данные о форматах хранятся отдельно от ячеек, сами ячейки хранятся внутри строк, адрес ячейки задается в формате A1 (необходим дополнительный парсинг в R1C1 или аналог).
38+
* **Дополнительная проблема**: связывание информации о форматах с позицией ячейки в выводимой таблице Power Query.
39+
40+
---
41+
## План работ
42+
43+
1. Структура листа:
44+
- [уровни группировки (вложенности) строк](../../tree/master/RowsOutline),
45+
- уровни группировки (вложенности) столбцов,
46+
- расширенная информация о строках (видимость, высота, вложенность, состояние группировки и т.д.),
47+
- расширенная информация о столбцах (видимость, ширина, вложенность, состояние группировки и т.д.).
48+
2. Отступы и выравнивание ячеек
49+
3. Числовые форматы ячеек
50+
4. Цвет фона ячейки
51+
5. Добавление пустых строк и столбцов сверху-слева от UsedRange/dimension ([о ловушке UsedRange см. этот пост](http://excel-inside.pro/ru/blog/2017/05/23/импорт-данных-в-power-query-и-power-bi-из-excel-ловушка-usedrange/))
52+
6. Условное форматирование, дополнительные форматы и дальнейшая разработка

0 commit comments

Comments
 (0)