Есть ли способ, чтобы при чтении из файла Excel получить стиль каждого слова внутри ячейки, используя python openpyxl - PullRequest
0 голосов
/ 27 июня 2019

Я пытаюсь проанализировать файл Excel, который затем создаст JSON после анализа данных Excel.Excel может содержать слова с использованием стиля, такого как жирный шрифт, курсив и т. Д. Я получаю форматирование с использованием openpyxl, но это для всей ячейки.Невозможно получить стиль, если ячейка содержит предложение, в котором одно слово выделено жирным шрифтом / курсивом или цветным шрифтом.

Будет очень полезно, если кто-нибудь поможет мне в этом

Заранее спасибо

1 Ответ

0 голосов
/ 27 июня 2019

Единственный и довольно утомительный способ, который я могу придумать, - это извлечь xlsx-файл (это всего лишь zip-архив) и изменить там sharedStrings.xml (например, с помощью ElementTree). После этого верните файл в архив.

Подход описан здесь:

https://stackoverflow.com/a/53454150/7919597

например. для клетки типа

enter image description here

sharedStrings.xml выглядит как

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  <sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="1" uniqueCount="1">
    <si>
      <r>
        <rPr>
          <sz val="11"/><color rgb="FFFF0000"/><rFont val="Calibri"/><family val="2"/>
          <scheme val="minor"/>
         </rPr>
         <t xml:space="preserve">Some Text</t>
      </r>

      <r>
        <rPr>
           <sz val="11"/><color theme="7" tint="-0.249977111117893"/><rFont val="Calibri"/><family val="2"/><scheme val="minor"/>
         </rPr>
       <t>Another Text</t>

    </r>
  </si>
</sst>
...