2

Excelのセルで利用可能なフォーマット情報を読む必要があります。Excelファイルには、「いくつかのサンプルテキスト」のようなテキストを含むセルが含まれている場合があります。各単語には、異なるフォーマット情報があります。「Some」という単語のように、太字でフォントの色とサイズが異なる場合があります。次の単語は違うかもしれません。

単一のセル値に設定された個々のフォーマット情報を読み取ることはできますか?はいの場合、同じ方法を教えてください。

私はNPOIとOpenXMLSDK2.5を使用していましたが、運がありませんでした。これはサーバーで処理されるため、Excelの相互運用機能は使用しないことをお勧めします。

4

2 に答える 2

2

これがあなたの質問に対する完全な「ハッカーの答え」です。

次のような単一のセルで小さな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

このファイルを読むことにより、すべての文字列をそれらのフォーマットで再構築することができます。より良い方法があるはずです...

于 2013-02-04T21:18:16.877 に答える
1

CellからRichText値を読み取ることについて話している。NPOI2.0の最終リリースでサポートされます。リリースは2014年の第1四半期に行われます。

于 2013-10-24T09:44:18.317 に答える