Разбор и анализ таблиц Excel с помощью MS XML в TestComplete

NovaInfo 2, скачать PDF
Опубликовано
Раздел: Технические науки
Просмотров за месяц: 26
CC BY-NC

Аннотация

В настоящее время разбор и анализ таблиц Excel в программе TestComplete вызывает сложности при разработке тест-скриптов. Одним из вариантов решения данной проблемы может стать анализ таблиц Excel, сохраненных в XML-формате. MS Office позволяет сохранять таблицы в формате "Таблица XML". В данной статье мы рассмотрим возможность разбора и анализа таблиц в данном формате.

Ключевые слова

XML, TESTCOMPLETE, MS EXCEL

Текст научной работы

В настоящее время разбор и анализ таблиц Excel в программе TestComplete вызывает сложности при разработке тест-скриптов. Одним из вариантов решения данной проблемы может стать анализ таблиц Excel, сохраненных в XML-формате. MS Office позволяет сохранять таблицы в формате "Таблица XML". В данной статье мы рассмотрим возможность разбора и анализа таблиц в данном формате. Более подробную информацию о формате можно получить на сайте Microsoft. Информацию об использованных в этой статье методах и свойствах MS XML можно подчеркнуть из статьи Разбор и анализ XML-файла в TestComplete.

Создадим таблицу Excel, например, подобную этой:

Пример таблицы Excel для разбора и анализа с помощью XML
Рисунок 1. Пример таблицы Excel для разбора и анализа с помощью XML

При сохранении в XML формате данная таблица будет выглядеть следующим образом:

<?xml version="1.0"?><?mso-application progid="Excel.Sheet"?><Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40"> <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">  <Author>Долганов Алексей Александрович</Author>  <LastAuthor>Долганов Алексей Александрович</LastAuthor>  <Created>2010-07-13T09:35:04Z</Created>  <Version>12.00</Version> </DocumentProperties> <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">  <WindowHeight>11820</WindowHeight>  <WindowWidth>15315</WindowWidth>  <WindowTopX>120</WindowTopX>  <WindowTopY>45</WindowTopY>  <ProtectStructure>False</ProtectStructure>  <ProtectWindows>False</ProtectWindows> </ExcelWorkbook> <Styles>  <Style ss:ID="Default" ss:Name="Normal">   <Alignment ss:Vertical="Bottom"/>   <Borders/>   <Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="11" ss:Color="#000000"/>   <Interior/>   <NumberFormat/>   <Protection/>  </Style>  <Style ss:ID="s62">   <NumberFormat ss:Format="#,##0.00&quot;р.&quot;"/>  </Style> </Styles> <Worksheet ss:Name="Лист1">  <Table ss:ExpandedColumnCount="2" ss:ExpandedRowCount="3" x:FullColumns="1" x:FullRows="1" ss:DefaultRowHeight="15">   <Row ss:AutoFitHeight="0">    <Cell><Data ss:Type="String">Молоко</Data></Cell>    <Cell ss:StyleID="s62"><Data ss:Type="Number">10</Data></Cell>   </Row>   <Row ss:AutoFitHeight="0">    <Cell><Data ss:Type="String">Мясо</Data></Cell>    <Cell ss:StyleID="s62"><Data ss:Type="Number">50</Data></Cell>   </Row>   <Row ss:AutoFitHeight="0">    <Cell><Data ss:Type="String">Яблоки</Data></Cell>    <Cell ss:StyleID="s62"><Data ss:Type="Number">20</Data></Cell>   </Row>  </Table>  <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">   <PageSetup>    <Header x:Margin="0.3"/>    <Footer x:Margin="0.3"/>    <PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>   </PageSetup>   <Unsynced/>   <Print>    <ValidPrinterInfo/>    <PaperSizeIndex>9</PaperSizeIndex>    <HorizontalResolution>600</HorizontalResolution>    <VerticalResolution>600</VerticalResolution>   </Print>   <Selected/>   <ProtectObjects>False</ProtectObjects>   <ProtectScenarios>False</ProtectScenarios>  </WorksheetOptions> </Worksheet></Workbook>

Структура XML-файла начинается с корневого элемента Workbook, обозначающего книгу. Перейдем к его дочерним элементам.

  1. DocumentProperties (Свойства документа). В этом элементе не содержится никаких данных из таблицы, поэтому этот элемент мы рассматривать не будем;
  2. ExcelWorkbook (Книга Excel). Также в этом элементе не содержится важной для нас информации, поэтому также пропускаем;
  3. Styles (Стили). Содержит форматирование таблицы. Расмотрим этот элемент вкратце. Будем считать что нам важнее сами данные, чем их форматирование;
  4. Worksheet (Лист). Данных элементов может быть несколько, в зависимости от количества листов в книге. Отобрать данные элементы можно с помощью XML-метода getElementsByTagName.

WorkSheet

Обязательные параметры:

  1. Ss:Name (Название листа).

Необязательные параметры:

  1. Ss:Protected (Информация о защите листа);
  2. Ss:RightToLeft (Направление текста).

Дочерние элементы:

  1. Table (Таблица). Данные;
  2. WorksheetOptions (Настройки). Не содержит данных. рассматриваться не будет.

Table

Обязательные параметры: нет

Необязательные параметры:

  1. Ss:DefaultColumnWidth (Ширина столбцов по умолчанию). Указывается в pt (1pt = 4/3px);
  2. Ss:DefaultRowHeight (Высота строк по умолчанию). Указывается в pt (1pt = 4/3px);
  3. Ss:ExpandedColumnCount (Общее число столбцов в этой таблице);
  4. Ss:ExpandedRowCount (Общее число строк в этой таблице);
  5. Ss:LeftCell (Начало таблицы слева);
  6. Ss:StyleID (Стиль таблицы). Ссылается на элемент Styles (подробнее ниже);
  7. Ss:TopCell (Начала таблицы сверху).

Дочерние элементы:

  1. Column (Столбцы);
  2. Row (Строки).

Column

Обязательные параметры: нет

Необязательные параметры:

  1. C:Caption (Заголовок);
  2. Ss:AutoFitWidth (Автоматическая ширина столбца). Истина если содержит значение 1;
  3. Ss:Hidden (Признак скрытия столбца);
  4. Ss:Index (Индекс столбца);
  5. Ss:Span (Количество столбцов с одинаковым форматированием);
  6. Ss:StyleID (Стиль столбца);
  7. Ss:Width (Ширина столбца). Указывается в pt (1pt = 4/3px).

Остановимся подробнее на параметрах ss:Index и ss:Span. Например, имеется 5 столбцов:

  1. Ширина 100pt;
  2. Ширина 20pt;
  3. Ширина 20pt;
  4. Ширина 20pt;
  5. Ширина 50pt.

В XML-файле столбцы должны быть описаны следующим образом:

<column ss:width="100"/><column ss:span="2" ss:width="20"/><column ss:index="5" ss:width="50"/>

Row

Обязательные параметры: нет

Необязательные параметры:

  1. C:Caption (Заголовок);
  2. Ss:AutoFitWidth (Автоматическая высота строки). Истина если содержит значение 1;
  3. Ss:Height (Высота строки). Указывается в pt (1pt = 4/3px);
  4. Ss:Hidden (Признак скрытия строки);
  5. Ss:Index (Индекс строки);
  6. Ss:Span (Количество строк с одинаковым форматированием);
  7. Ss:StyleID (Стиль строки).

Дочерние элементы:

  1. Cell (Ячейка).

Cell

Обязательные параметры:

Ss:Type (Тип ячейки). Возможные значения: Number (Числовой); DateTime (Дата и время); Boolean (Логический); String (Строковый); Error (Ошибка). Возможные значения: #NULL!; #DIV/0!; #VALUE!; #REF!; #NAME?; #NUM!; #N/A; #CIRC!

Необязательные параметры: нет

Дочерние элементы:

  1. B (Жирным);
  2. Font (Шрифт);
  3. I (Курсив);
  4. S (Зачеркнутый);
  5. Span (Форматированный);
  6. Sub (Верхний регистр);
  7. Sup (Нижний регистр);
  8. U (Подчеркивание).

Значение элемента: Значение ячейки

Читайте также

Цитировать

Долганов, А.А. Разбор и анализ таблиц Excel с помощью MS XML в TestComplete / А.А. Долганов. — Текст : электронный // NovaInfo, 2010. — № 2. — URL: https://novainfo.ru/article/158 (дата обращения: 05.10.2022).

Поделиться