У меня есть DataTable с несколькими столбцами, включая AccountNumber, Year и Month.Я экспортирую информацию из этой таблицы в книгу Excel.Поскольку эта таблица потенциально может быть очень большой, я должен проверить количество записей в таблице (поскольку в Excel может быть только 65536 строк или что-то в этом роде. Если исходная таблица достаточно мала, мне нужно поместить все записив одном листе. Если существует слишком много записей для одного листа, мне нужно разделить записи на несколько листов на основе AccountNumber. Кроме того, если существует слишком много записей для определенного AccountNumber, то мне нужно разделить этот AccountNumber на несколько листовна основе года. Если в определенном году по-прежнему слишком много записей, я должен разделить их по месяцам.
Например:
Если у меня есть 500 000 записей, я должен разделить ихпо AccountNumber, получая:
Имя рабочего листа ---- Количество записей
- 1111 ---- 150 000
- 2222 ---- 50 000
- 3333 ---- 100 000
Тогда мне нужно будет разделить учетные записи 1111 и 3333 на несколько рабочих листов на основеГод.Тогда у меня было бы что-то вроде этого:
Имя листа ---- Количество записей
- 1111 - 2010 ---- 50 000
- 1111 - 2011 ---- 100 000
- 2222 ---- 50 000
- 3333-2010 ---- 50 000
- 3333-2011 ---- 50 000
Тогда, так как 1111 - 2011 все еще слишком велик, я должен был бы разделить его на месяц, в итоге получив:
Имя рабочего листа ---- Количество записей
- 1111-2010 ---- 50 000
- 1111-201105 ---- 30 000
- 1111-201106 ---- 30 000
- 1111-201107 ----40 000
- 2222 ---- 50 000
- 3333-2010 ---- 50 000
- 3333-2011 ---- 50 000
Код, который используется для создания файла Excel, является проектом, написанным моей компанией.Для простоты функция принимает DataTable и записывает записи в DataTable в формате электронной таблицы Excel.Любые идеи о том, как я могу сделать это, не делая больше звонков в базу данных?Заранее спасибо.