Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 02.02.2016
Сообщений: 12
1

Разбор excel листа в XML формате

24.08.2017, 14:21. Показов 546. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день,

Имеется рейндж с данными, например "A1:E500",

Я получаю его XML представление при помощи

PowerShell
1
$xml = [xml]($Sheet.Range("A1:E500").Value(12) -replace "\x00")
и получаю что то типа этого:

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<xml xmlns:x="urn:schemas-microsoft-com:office:excel"
 xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
 xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"
 xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
 <x:PivotCache>
  <x:CacheIndex>1</x:CacheIndex>
  <s:Schema id="RowsetSchema">
   <s:ElementType name="row" content="eltOnly">
    <s:attribute type="Col1"/>
    <s:attribute type="Col2"/>
    <s:attribute type="Col3"/>
    <s:attribute type="Col4"/>
    <s:attribute type="Col5"/>
    <s:extends type="rs:rowbase"/>
   </s:ElementType>
   <s:AttributeType name="Col1" rs:name="asdfasdf lolo1">
    <s:datatype dt:maxLength="255"/>
   </s:AttributeType>
   <s:AttributeType name="Col2" rs:name="egwreywer lolo3">
    <s:datatype dt:maxLength="255"/>
   </s:AttributeType>
   <s:AttributeType name="Col3" rs:name=" lolo4">
    <s:datatype dt:maxLength="255"/>
   </s:AttributeType>
   <s:AttributeType name="Col4" rs:name="aerge lolo5">
    <s:datatype dt:maxLength="255"/>
   </s:AttributeType>
   <s:AttributeType name="Col5" rs:name="ww lolo6">
    <s:datatype dt:maxLength="255"/>
   </s:AttributeType>
  </s:Schema>
  <rs:data>
   <z:row Col1="lolo3" Col2="lolo3" Col3="lolo4" Col4="lolo5" Col5="zzzzz"/>
   <z:row Col1="lolo4" Col2="lolo3" Col3="lolo4" Col4="lolo5" Col5="lolo6"/>
   <z:row Col1="lolo5" Col2="lolo3" Col3="lolo4" Col4="lolo5" Col5="lolo6"/>
   <z:row Col1="lolo6" Col2="lolo3" Col3="lolo4" Col4="lolo5" Col5="lolo6"/>
   <z:row Col1="asdfasdf" Col2="egwreywer" Col4="aerge" Col5="ww"/>
   <z:row Col1="lolo1" Col2="lolo3" Col3="lolo4" Col4="lolo5" Col5="lolo6"/>
   <z:row Col1="lolo1" Col2="lolo3" Col3="lolo4" Col4="lolo5" Col5="lolo6"/>
   <z:row Col1="lolo3" Col2="lolo3" Col3="lolo4" Col4="lolo5" Col5="zzzzz"/>
   <z:row Col1="lolo4" Col2="lolo3" Col3="lolo4" Col4="lolo5" Col5="lolo6"/>
   <z:row Col1="lolo5" Col2="lolo3" Col3="lolo4" Col4="lolo5" Col5="lolo6"/>
  </rs:data>
 </x:PivotCache>
</xml>
Далее я пробегаю командлетом Foreach-Object по $xml.xml.PivotCache.data и пишу данные в выходной массив. Я обнаружил что
если в рейндже более 5 колонок, то первые 2 строки улетают в ветку s:Schema и не попадают в выходной объект. Как это можно пофиксить ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.08.2017, 14:21
Ответы с готовыми решениями:

Ко всем файлам добавилось .xml, теперь они в формате ***.xls.XML, ***doc.XML (изначально в Word и Excel)
при копировании с одного ноутбука на другом (изначально на новом не было офиса, м.б. из-за этого...

Как задать соответствие одних значений, одного листа Excel, значениям другого листа Excel
Есть лист Excel ,значения в нем постоянны и находятся на одном месте (в одном столбце и в одной...

Считать данные с листа EXCEL в Listview. Выбор листа в Combobox
Как считать с листа Excel - где его имя - выбранное значение из combobox. Если я правильно понял то...

При создании нового листа произвести проверку на существование вводимого имени листа в текущей книге EXCEL
При создании нового листа, произвести проверку на существование вводимого имени листа в текущей...

0
24.08.2017, 14:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.08.2017, 14:21
Помогаю со студенческими работами здесь

Возможность получить инфу из листа книги excel ne открывая сам файл excel
Здравствуйтe. Как возможно взять/добавить данныe в опрeдeлeнную книгу, в опр. лист нe открывая сам...

Разбор XML
Дана строка следующего вида с переменной длиной: &lt;reply&gt;&lt;process id=&quot;3135&quot;/&gt;&lt;threads&gt;&lt;thread...

Разбор xml
Здравствуйте. Мне нужно создать приложение, которое будет искать заданные фразы в xml документах....

Разбор XML
Всем привет. Работаю в больнице, каждый месяц сдаем реестр по пролеченным больным. Написал...

Разбор XML
Есть xml &lt;struct&gt; &lt;data name=&quot;title&quot;&gt;111&lt;/data&gt; &lt;data name=&quot;message&quot;&gt;1 1 1&lt;/data&gt; &lt;/struct&gt; ...

Разбор XML
Здравствуйте! Есть приложение для Android, которое посылает запрос серверу, получает ответ и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru