Сканирование / чтение внутреннего файла Excel xml app.xml с помощью perl - PullRequest
0 голосов
/ 27 июня 2018

Я читаю содержимое файла Excel (расширение .xlsx), представляющего собой набор файлов XML, содержащихся в zip-файле.

Я пытаюсь прочитать некоторые из этих внутренних файлов XML с помощью Perl. Основной app.xml файл, который я пытаюсь прочитать, показан ниже:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes">
  <Application>Microsoft Excel</Application>
  <DocSecurity>0</DocSecurity>
  <ScaleCrop>false</ScaleCrop>
  <HeadingPairs>
    <vt:vector size="4" baseType="variant">
      <vt:variant>
        <vt:lpstr>Worksheets</vt:lpstr>
      </vt:variant>
      <vt:variant>
        <vt:i4>4</vt:i4>
      </vt:variant>
      <vt:variant>
        <vt:lpstr>Named Ranges</vt:lpstr>
      </vt:variant>
      <vt:variant>
        <vt:i4>2</vt:i4>
      </vt:variant>
    </vt:vector>
  </HeadingPairs>
  <TitlesOfParts>
    <vt:vector size="6" baseType="lpstr">
      <vt:lpstr>Sheet1</vt:lpstr>
      <vt:lpstr>Sheet2</vt:lpstr>
      <vt:lpstr>Sheet3</vt:lpstr>
      <vt:lpstr>Sheet4</vt:lpstr>
      <vt:lpstr>Sheet3</vt:lpstr>
      <vt:lpstr>Test1</vt:lpstr>
    </vt:vector>
  </TitlesOfParts>
  <Company/>
  <LinksUpToDate>false</LinksUpToDate>
  <SharedDoc>false</SharedDoc>
  <HyperlinksChanged>false</HyperlinksChanged>
  <AppVersion>16.0300</AppVersion>
</Properties>

Раздел <HeadingPairs> содержит две части

  • Все не скрытые листы в файле Excel
  • Все именованные диапазоны

Мне нужно изменить некоторые значения имени листа и мне нужно знать, подраздел Worksheets элемента HeadingPairs будет всегда первым в произвольном файле Excel.

Если это не всегда первый, тогда у меня проблема. Я не могу сканировать его вообще, так как я имею дело с файлами Excel на нескольких языках, и для каждого языка переводится слово Worksheets.

Я искал документацию структуры или схем для файла app.xml, но не нашел ничего, что помогло бы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...