2016-04-22 2 views
0

В программе C# я переношу данные Excel в DataTable, а затем отображаю их в DataGridView. Но мои данные усекаются: DataGridView останавливается в столбце F255.C#: Ограниченная емкость DataTable

В режиме отладки я обнаружил, что мой DataTable имеет рекордную емкость 256 и соответствует месту, где мои данные перестают копироваться из файла Excel.

Мог ли я сделать что-то не так? Есть ли способ расширить возможности DataTable? Заранее спасибо.

ответ

1

Строки DataTable имеют жесткий максимум 16,777,216 строк. Столбцы ограничены памятью. Одна вещь, которую вы можете попробовать, - заставить ваше приложение работать как 64 бит, изменив настройку сборки в свойствах проекта.

В противном случае вам придется покупать больше оперативной памяти.

+0

Благодарим вас за ответ. У меня 6Gb Ram на моем компьютере, и он не работает даже при форсировании 64 бит. Я буду управлять своим файлом Excel по-другому. –

+0

Да, обычно, если у вас он установлен в AnyCPU, тогда он выбирает оптимальный режим, так что это был просто длинный снимок. DataTables также используют много памяти, вы можете рассмотреть другой подход к своей проблеме или использовать структуры для хранения ваших данных в некоторых других типах коллекций –

Смежные вопросы