web-dev-qa-db-ja.com

Excelブックのどの部分がサイズが最も大きいかを知るにはどうすればよいですか?

私は47MBのExcel .xlsxを持っています。ワークブックのどの部分が最も重いかを知り、それらを動作させたいのです。手動でファイルサイズを特定して縮小しようとして、あまり進歩していません。 Excelブックの各シートの重みを調べる方法はありますか?

8
s_a

私自身の質問に答えるつもりはありませんでしたが、後でそれを行う方法を見つけました。だからここに契約があります:

  1. まず、ファイルのコピーを作成し、名前を.Zipに変更して開き、[zipfile]\xl\worksheets\に移動します。圧縮されていないサイズの.xmlファイルが表示されます。例えば: Excel workbook structure example

  2. 最大のワークシート、この場合はsheet6.xmlを特定します

  3. ファイル[zipfile]\xl\_rels\workbook.xml.relsを開き、以前に識別されたworksheet.xmlの対応するrelationship idを見つけます。この場合、r:idsheet6.xmlは10です。 Excel workbook structure example

  4. ファイル[zipfile]\xl\workbook.xmlを開きます。上記で取得した大きな.xmlファイルのridworkbook.xml(以下に表示)の構造を使用して、ワークブックの大きなシートの名前を見つけます。

Excel workbook structure example

17
s_a

私はコメントすることができません(十分なポイントがありません)が、S_Aによって提供された素晴らしい回答に加えてこれを使用して、肥大したファイルを75 mbから1.7 mbに取得しました...

Clean Excess Cell Formatting 」機能について聞いたことがありませんでした...(ところで、これはExcelの一部であり、サードパーティ製品ではありません...)

これを回答として送信していただきありがとうございます。この便利なツールについてお伝えしたいと思います。有益なディスカッションをありがとうございました。いつか参加できるポイントを獲得したいと思っています...

編集:robinCTSの推奨で、Excel内からこのツールを有効化/アクセスする方法を簡単に説明します

Helpfully Annotated Screenshot of instructions from provided link

4
Andy.Collette

A 47 NB xlsxファイルは、画像が大量にある場合を除いて、非常に一般的ではありません。そうでない場合は、エクスポートファイルに問題が発生している可能性が高くなります。

基本的に何が起こるかというと、xlsxファイルがエクスポートされ、Excelで開かれ、再度保存されると、多数の空の行と列を含むファイルが保存されます。これは、巨大なスクロールバーを見ればわかります(例:スクロールノブが小さい)。

これに対処するには、最初の空の列から最後まで(個々のセルを選択するのではなく、ヘッダーセルを使用して)選択し、ヘッダーで右クリックして[削除]を選択します。行に対して同じことを行い(たくさんあります!!!)、ファイルを保存します。

Excellはファイルを保存するはずです。これが問題であった場合は、47 mbから2 mbに増える可能性があります。

1
LPChip