これがあなたの質問に対する完全な「ハッカーの答え」です。
次のような単一のセルで小さなExcelファイルを作成しました。
ファイルを保存して閉じました。次に、ファイルの拡張子を.xlsxから.zipに変更しました。これにより、ファイルを開いて内容を確認できます。名前の付いたサブフォルダーxl
に、ワークブック内のすべての文字列とセル内のフォーマットを含む「sharedStrings.xml」というファイルがあります。これは巨大な配列です。これは、同じ値が複数のセルに入力された場合に1回だけ保存されるようにするためです。このファイルを処理して、すべてのセルのすべての文字列とその形式を取得します...
この特定のセルの場合、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>
<t xml:space="preserve">This </t>
</r>
<r>
<rPr>
<b/>
<sz val="11"/>
<color theme="1"/>
<rFont val="Calibri"/>
<family val="2"/>
<scheme val="minor"/>
</rPr>
<t>cell</t>
</r>
<r>
<rPr>
<sz val="11"/>
<color theme="1"/>
... etc
このファイルを読むことにより、すべての文字列をそれらのフォーマットで再構築することができます。より良い方法があるはずです...