Microsoft Excel共有文字列テーブル
共有文字列テーブルは、ISO標準-ISO / IEC 29500-1:2016(E)で定義されているOpen XML標準です
共有文字列の公式定義(ISOドキュメントから引用)
共有文字列テーブル
文字列値は、スプレッドシートのセル要素内に直接格納できます。ただし、同じ値を複数のセル要素内に格納すると、ワークシートのパーツが非常に大きくなり、パフォーマンスが低下する可能性があります。共有文字列テーブルは、ワークブック全体で共有される文字列値のインデックス付きリストです。これにより、実装は値を一度だけ格納できます。
共有文字列のISO標準は、次の場所からダウンロードできます。
https://standards.iso.org/ittf/PubliclyAvailableStandards/c071691_ISO_IEC_29500-1_2016.zip
このトピックに関する質問への回答
質問1: 共有文字列はExcelアプリケーション自体の中で使用されますか、それともデータを保存するときだけですか?
回答:
共有文字列は、スプレッドシートをファイルとしてストレージに保存する目的でのみ、ドキュメント(IE)を保存するときにのみExcelで使用されます。
ただし、ファイルを開いて表示すると、共有文字列テーブルから取得された実際の文字列値がセルに入力されます。
-
質問2:そのフィールドで並べ替えるアルゴリズムの例は何でしょうか?どの言語でも問題ありません(c、c#、c ++、python)。
回答:
Excelのようなアプリケーションの場合、文字列値のソートに使用される可能性が最も高いアルゴリズムは、Quick sortの特別な独自のバリエーションであると思い
ます。
Excelには1,048,576行の制限があります。このサイズでは、クイックソートが間違いなく勝者です。クイックソートは、この規模のデータセットに対して非常に効率的な結果を生成できます。
文字列をソートするためのC ++のクイックソートの実装へのリンクは次のとおりです。
http://www.cplusplus.com/forum/beginner/101599/