|
0 / 0 / 0
Регистрация: 11.08.2012
Сообщений: 9
|
|
Можно ли открыть один лист из книги экселя отдельно, не открывая файл целиком11.08.2012, 14:59. Показов 2894. Ответов 7
Метки нет (Все метки)
Здравствуйте, все!
Встала следующая задача. Выполнить консолидацию достаточно большого количества excel-файлов(не только сумму, но и некоторые более сложные вычисления). Решил поработать с этим в c#. Пробовал с помощью Microsoft.Office.Interop.Excel. Думал, заполню много массивов двумерных, поочередно считывая информацию из excel-файлов, а потом уже проделаю с ними все операции требующиеся. Оказалось, все не так просто. Файлы большие - 8-9мб. Сам эксель открывает их(у меня на компьютере) секунд 10-12, а в c# за 14-16. А их порядка ста пятидесяти нужно считать. Выходит очень много времени естественно занимает. И встает 3 вопроса. 1) Можно ли открыть один лист из книги экселя отдельно, не открывая файл целиком, так как в каждом файле мне нужен для обработки только один лист, а кроме него там их еще штук 10, которые основной объем файла и занимают соответственно? 2) Есть ли более быстрые способы работы с файлами excel, кроме Microsoft.Office.Interop.Excel на c#? 3) Если не на c#, то с помощью чего лучше всего решить такую задачу?
0
|
|
| 11.08.2012, 14:59 | |
|
Ответы с готовыми решениями:
7
Копирование и вставка, не открывая файл и лист
|
|
432 / 433 / 93
Регистрация: 16.07.2012
Сообщений: 886
|
|
| 11.08.2012, 15:22 | |
|
10 секунд - это может быть первый файл открывается, когда Excel еще в память не загрузился? Или все последующие так же долго открываются?
0
|
|
|
0 / 0 / 0
Регистрация: 11.08.2012
Сообщений: 9
|
|
| 11.08.2012, 15:31 [ТС] | |
|
Все по 10 в среднем открываются. Даже когда уже запущен Excel.
0
|
|
|
432 / 433 / 93
Регистрация: 16.07.2012
Сообщений: 886
|
|
| 11.08.2012, 15:34 | |
|
Попробуйте ExcelDataReader
0
|
|
|
|
||||||
| 11.08.2012, 20:20 | ||||||
|
Можно ускорить обработку с помощью Interop:
При открытии можно указать два параметра Readonly = true UpdateLinks = false Тогда файлы будут открываться быстрее. Также можно убрать все сообщения, скрыть Excel и не просить его перерисовываться - все это ускорит обработку.
Про другие способы чтения с Excel-файлов: OleDB, EPPlus, NPOI
1
|
||||||
|
0 / 0 / 0
Регистрация: 11.08.2012
Сообщений: 9
|
|
| 12.08.2012, 00:42 [ТС] | |
|
Спасибо, turbanoff, попробовал ускорить Interop, вообще не повлияло. Может быть сотые секунд, но не особо заметно. Сейчас попробую, наверное EPPlus. Он вроде по функционалу как раз то, что нужно, ну а на скорость надеяться буду.
Добавлено через 3 часа 51 минуту Еще одна неслабая проблема. Считывает c# оказывается еще дольше. 40 тыс. ячеек 27 секунд считывает. Это нормально?
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||
| 13.08.2012, 11:40 | ||
|
Меня в вашем первом сообщении немного напрягло упоминание двумерных массивов для хранения данных. Двумерные массивы в шарпе - те еще тормоза. Попробуйте вместо этого сделать структуру или класс с полями, соответствующими типам данных в каждой колонке таблицы, и создавать список экземпляров этих структур/классов.
1
|
||
|
0 / 0 / 0
Регистрация: 11.08.2012
Сообщений: 9
|
||
| 13.08.2012, 18:46 [ТС] | ||
|
0
|
||
| 13.08.2012, 18:46 | |
|
Помогаю со студенческими работами здесь
8
Выяснить, можно ли один из прямоугольников целиком поместить внутри другого Можно ли записать в файл .xls данные не открывая его? Возможность получить инфу из листа книги excel ne открывая сам файл excel Собрать в один лист содержимое конкретной строки из нескольких листов одной книги Даны положительные действительные числа a,b,c,d. Выяснить, можно ли один из прямоугольников целиком поместить внутри другого прямоугольника Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|