2016-04-13 14 views
0

私は、何百万ものレコードを含むMySqlデータベースを使用しています。大量のレコードをXLS(およびPDF)ファイルに保存できるようにする必要があります。どのソリューションが最適ですか?XLSに大量のレコードを保存する最も良い方法

私はExport very large data to Excel file のようなものを試しましたが、RAMが多すぎます(約6go)。

また、レコードをデータテーブルに保存し、RDLCを使用してファイルに書き込もうとしました。私はまだRAMの問題がありますが、今回は悪化しています。

私はアイデアがありません。私は成功していない1milのレコードをエクスポートしようとしました。その他の提案はありますか?

+2

一度にすべての行を処理するのではなく、単にバッチで行を処理しようとしましたか? – bassfader

+1

これまでは65536行に達するたびに新しいExcelシートに分割しました。おそらくこれをオプションとして考えてください。 –

+0

はいBassfader、私はそれをした、動作しません。私はDavy C Ideeaを使用しました。少し上手く機能していますが、完璧ではありません。 –

答えて

0

XLSには65k行の制限があり、新しいExcel形式では1m行をわずかに超える制限があります。 https://superuser.com/questions/366468/what-is-the-maximum-allowed-rows-in-a-microsoft-excel-xls-or-xlsx

"1mil"レコードが10%でも過小評価されている場合、そのフォーマットは機能しません。データを別のシステムに転送しようとしている場合は、CSVなどを試してみることをおすすめしますが、PDFがオプションの1つだった場合は、実際に何をしようとしているのか分かりません。

この問題は、アカウントIDごとに1回、ループ内で反復的な(たとえば、AccountID)列を選択し、エクスポート(CSVへの)をループで実行します。これにより、処理がより管理し易いチャンクに分割されます。最後に、すべてのファイルを1つのファイルにまとめる必要がある場合、CSVを最後に追加することができます。

+0

私はExcelファイルの限界を知っていますが、ファイルが開いていなくてもファイルに書き込む必要があります。また、すべてのレコードをPDFファイルに書き込む必要がありますが、1mil以上のレコードを持つXLSファイルを作成するソリューションを見つけることができれば、同じ方法でPDFファイルを作成できます。この瞬間、私は1milのレコードをExcelファイルに書き込む良い解決策はありません。 –

+0

PDFは最終目標であり、XLSはその方向のステップとしてのみ意味されていますか?種類: –

+0

CSV、Excel、PDFのレポートを生成する必要があります。 CSVはうまくいきますが、他は不可能です。 –

関連する問題