{"id":14270,"url":"\/distributions\/14270\/click?bit=1&hash=a51bb85a950ab21cdf691932d23b81e76bd428323f3fda8d1e62b0843a9e5699","title":"\u041b\u044b\u0436\u0438, \u043c\u0443\u0437\u044b\u043a\u0430 \u0438 \u0410\u043b\u044c\u0444\u0430-\u0411\u0430\u043d\u043a \u2014 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u0433\u043e\u0440\u0435","buttonText":"\u041d\u0430 \u043a\u0430\u043a\u043e\u0439?","imageUuid":"f84aced9-2f9d-5a50-9157-8e37d6ce1060"}

Автоматизация процесса разделения данных

Сегодня мы предлагаем рассмотреть один из способов разделения данных в ячейке файла формата MS Excel с помощью программы, написанной на языке программирования C#.

Допустим, у нас есть данные, содержащиеся в файлах, которые необходимо визуализировать с некоторой периодичностью, в связи с обновлением. В этих файлах есть таблица, из которой мы берем данные — сколько нарушений было у каждого сотрудника. Проблема в том, что встречаются ячейки, в которых более одного сотрудника.

Т.к. визуализация данных происходит автоматически, то и разделение данных по сотрудникам должно происходить в автоматическом режиме без участия человека-оператора. Для этого нами на языке программирования C# была создана программа автоматически разделяющая данные. Причем данные могут быть не только ФИО сотрудника, а любыми (разделенные определенным знаком-разделителем).

Расскажем о программе подробнее.

Для удобства настройки программы мы выделили основные параметры в настроечный файл формата xml.

<Settings xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Programm"> <Delimiter>,</Delimiter> Знак-разделитель <InputFileName>C:\IputFile.xlsx</InputFileName> Полный путь к входному файлу <NameEditColumn>ФИО</NameEditColumn> Столбец, который необходимо обработать <NumberFirstDataRow>2</NumberFirstDataRow> Номер первой строки с данными <NumberHeaderRow>0</NumberHeaderRow> Номер строки с заголовком таблицы <OutputNameFile>C:\OutputFile.xlsx</OutputNameFile> Полный путь к измененному файлу </Settings>

Для того, чтобы иметь возможность чтения файла формата MS Excel подключаем библиотеки:

using DocumentFormat.OpenXml.Packaging; using DocumentFormat.OpenXml.Spreadsheet;

Разберемся, что происходит:

  • программа, после считывания из файла настроек, считывает Excel-файл (указанный в параметре InputFileName) в память при помощи объекта DataTable;
  • зная (из параметров) номер первой строки с данными и номер столбца в котором находятся данные, которые необходимо трансформировать, запускается цикл, который, перебирая все строки с данными, ищет ячейку, в которой будут содержаться знаки-разделители;
  • как только такая ячейка будет найдена, программа разделит обнаруженные данные по знаку-разделителю и поместит их в массив (без знака разделителя);
  • строка данных в которой были найдены данные со знаком-разделителем будет клонирована (столько раз, сколько будет элементов в созданном массиве с разделенными данными), а данные со знаком-разделителем будут заменены соответствующими элементами из массива;
  • следующим шагом будет замена исходной строки в объекте DataTable полученными клонами;
  • после того, как последняя строка таблицы будет обработана вышеописанным алгоритмом программа экспортирует полученный набор данных из памяти в файл формата MS Excel (указанный в параметре OutputNameFile).

В итоге, после обработки данной программой файла, можно будет визуализировать в системе отчетности Power BI необходимые нам данные в автоматическом режиме.

0
3 комментария
Марат Конкин

Когда использовал эксель только в качестве калькулятора...

Ответить
Развернуть ветку
JOHANES ALALA

Tecra Muigai daughter of Roma ft stamina corona mp3 download

Tecra Muigai who is the daughter to the CEO of Karachi breweries dies of road accident on Saturday afternoon the company of kerachi breweries has celebrated her life saying that she was very brilliant and good to that company and wishing her a good journey
she was the eldest daughter of Tabitha karanja and Joseph karanja who are the CEO and chairman of the breweries company and they have said that she was the company strategy and innovative director
"Tecra's brilliance, passion and energy were the source of important innovations that enriched the company product range including the development of new brands that we scheduled to be launched this year, "the statement said.
The company has asked for respect and privacy to the family as they plan for the burial.
Masauti inawauma mp3 download
"As we begin preparations for her final send-off, we ask for respect and privacy during these difficult time," the statement signed off by the brewer's corporate affairs department said.

Rayvanny sura sio pesa mp3 download
https://www.geniusfuns.co.ke/rayvanny-sura-sio-pesa-sura-ya-pesa-mp3/

Ответить
Развернуть ветку
sjava musicza

Thank You So Much For providing the important and Knowledgeable information.
I am Olivia Crew, SEO Expert in a reputed company livewebtutors. All of your information is very useful to me.

https://fakazamusic.co/blaq-diamond-ubani-owayazi/

https://sjavamusicza.com/blaq-diamond-ubani-owayazi/

https://safakaza.com/tekashi-6ix9ine-now-most-viewed-on-instagram-live-with-2m-views-drops-gooba-song/

Ответить
Развернуть ветку
0 комментариев
Раскрывать всегда