![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Регистрация: 11.08.2012
Сообщений: 8
|
![]()
Есть кто-нибудь, кто работал с файлами excel на c#?? Желательно, с помощью Microsoft.Office.Interop.Excel
|
![]() |
![]() |
![]() |
#3 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
На форуме есть специальный раздел для пишущих на C#
http://programmersforum.ru/forumdisplay.php?f=59 Цитата:
сомневаюсь, что вы - первопроходец в этом вопросе... |
|
![]() |
![]() |
![]() |
#4 | |
Регистрация: 11.08.2012
Сообщений: 8
|
![]() Цитата:
Единственная проблема: со скоростью чтения в excel файл и записи обратно в excel файл. Чтение файла размером 300*120 примерно занимает порядка 25-30 секунд. Это еще более-менее. Но запись идет где-то 4 минуты(это в существующий файл с форматированием(имеется ввиду размеры столбцов\строк, цвета и т.п. уже указаны). В пустой файл запись идет 2 минуты, что тоже очень долго. Файлов нужно обработать порядка 100-200. Я поэтому и хотел задать вопрос, может можно сделать что-то вроде вызова кусков кода VBA например под c# для чтения и записи? Возможно, это что-то даст. Это я к примеру. Или какие-то еще фишки из excel. |
|
![]() |
![]() |
![]() |
#5 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
Чтение файла размером 300*120 на VBA занимает около секунды,
запись файла - пример столько же. Либо в вашем файле слишком много сложных формул, либо вы что-то не так делаете... |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
![]()
Объекты Excel для VBA - такие же внешние объекты, как для любой другой программной среды.
Чтение/запись значений и формул надо делать не поячеечно, а сразу на весь диапазон - это ускоряет процесс в десятки раз. Форматирование надо по возможности накладывать на целые строки и столбцы. На время внесения изменений отключать автоматическтй пересчет, события приложения, обновление экрана (если окно приложения видимое) - это обсуждалось много раз.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
![]() |
![]() |
![]() |
#7 |
Регистрация: 11.08.2012
Сообщений: 8
|
![]()
Казанский, если есть ссылки на эти обсуждения, скиньте, пожалуйста.
Последний раз редактировалось Bi0max; 21.08.2012 в 21:49. |
![]() |
![]() |
![]() |
#8 |
Регистрация: 11.08.2012
Сообщений: 8
|
![]()
Казанский, я просто искал ответ на эту тему. Ничего не нашел. Нашел про отключение событий приложения, обновления экрана, видимость приложения. Это я отключил, но к сожалению, не помогло. Вот про автоматический пересчет в первый раз услышал, но попробую найти, где отключить.
Форматирование я из приложения не делаю, я записываю просто в отформатированный файл. А вот насчет чтения и записи не поячеечно я и пытался найти везде. На скольких форумах спросил, никто не отвечал на это. Вы имеете ввиду, например вставить целый массив в диапозон? |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
![]()
Ну, это настолько общее место... ключевое слово Value.
Например, Код:
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
![]()
Во вложении класс для вывода таблицы в Excel на VBnet,без труда переконвертируете в в C#
Выводит очень быстро. добавил чтение из файла,234 столбца на 4 тыс строк обрабатывает быстро За корректность кода на C# не отвечаю,через конвертор работал Код:
Анализ,обработка данных Недорого
Последний раз редактировалось doober; 21.08.2012 в 22:21. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
не знаю как выполнить.кто-нибудь...ну кто-нибудь... | blina | Общие вопросы по Java, Java SE, Kotlin | 1 | 12.05.2010 11:43 |
Кто нибудь работал с Astron SiteManager? | Начинающая | Софт | 2 | 15.07.2008 17:11 |