Excel の Worksheet.Range エラーのトラブルシューティング (HRESULT: 0x800A03EC)
古い Excel バージョン (Office 2007 など) で大規模なデータセットを操作すると、イライラするエラーが発生する可能性があります。 Worksheet.Range
実行中の「HRESULT: 0x800A03EC」エラーは、大規模なデータセット (例: 70,000 行以上) を扱うときによく発生します。このエラーは、特に、下位互換性のある Excel ファイル (.xls) の行制限を超えるセル範囲にアクセスしようとしたことを示します。
この問題は、.xls ファイル形式に固有の制限に起因します。 .xls ファイルの最大行数は 65,536 です。 より大きな範囲にアクセスしようとするコード:
など<code class="language-csharp">Microsoft.Office.Interop.Excel.Range neededRange = currentWS.Range[cell.Cells[1, 1], cell.Cells[nRowCount, nColumnCount]];</code>
がこの制限を超えると、nRowCount
は失敗します。
解決策: .xlsx 形式にアップグレードします
解決策は簡単です。スプレッドシートを .xlsx ファイルとして保存します。 .xlsx 形式は最大 1,048,576 行をサポートし、行数の制限がなくなりました。
ファイル形式を確認して変更するには:
.xlsx ファイルとして保存すると、「HRESULT: 0x800A03EC」エラーが発生することなくコードが実行され、大規模なデータセットにシームレスにアクセスできるようになります。
以上がExcel でワークシート範囲を選択すると「HRESULT: 0x800A03EC」が表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。