Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Corba";
Текущий архив: 2011.12.25;
Скачать: [xml.tar.bz2];

Вниз

Проблемы с обработкой большого количества ячеек Excel   Найти похожие ветки 

 
Денис Демченко   (2007-04-11 16:09) [0]

Задача стоит таким образом
1.Сложить данные, содержащиеся в разных файлах, поячеечено. Т.е. ячейка А1 файла 1.xls с ячейкой А1 файла 2.xls и так для всех файлов.
2.Организовать приведение типов для ячеек. В случае, если ячейка не содержит числового значения, то добавить ноль вместо нее. Кто его знает,что умдриться написать бухгалтер из вот того самого отделения в той самой ячеечке.
3.Сохранить полученные результаты в отдельный файл.
Как решил сделать это я:
1.Сохраняю диапозон ячеек из Excel и в цикле пробегаюсь по ним, приводя типы, и суммируя соответственно к элементам массива длиной (кол-во строк диапозона)*(количество столбцов диапозона)
2.Закрываю превыдущий файл, открываю следующий и выполняю пункт 1.
3.Создаю новую книгу и забиваю в нее динамический массив.
Берем 15000 ячеек. Над каждой ячейкой выполняеться минимум 2 операции. Все это время массив приходиться хранить в памяти. Значит получаем, что во время выполнения программы выполняеться навскидку (15000*2*кол-во файлов) операций. Бедный процессор. Не верю я в его возможности.
Вот и спрашиваю совет, как это большушее число уменьшить. Если учесть, что параллельно Excel будет открывать/закрывать книги,то проще будет сделать все ручками с помощью калькулятора.
Мои варианты - либо использовать промежуточное сохранение, либо в файл, либо куда-нибуть в базу,а уж потом работать с этим сохранением. все-таки получиться, что хотябы время на выполнение операций поделиться на два этапа, его хоть как-то можно будет контролировать.
Вот и спрашиваю совет, насколько мои рассуждения обоснованы...
Кто что  может предложить?а то я уже неденю бьюсь над проблемой...


 
umbra ©   (2007-04-11 16:30) [1]

1) защитить структуру листа, который заполняют пользователи паролем
2) открыть книги по очереди и сохранить нужный лист в формате csv
3) грузить эти текстовые файлы, разбирать построчно.

Будет намного быстрее, чем при прямой работе с экселем.


 
Денис Демченко   (2007-04-11 16:52) [2]

1)-мне еще здесь работать:) меня не поймут, это файлы отчетности. И так пароли навешаны.
2)-а что есть формат csv? как он вообще храниться и что из себя представляет файл?чем к нему потом осуществлять доступ?это, как вы говорите, текстовый, т. е. получаеться содержащий размеченный текст,я так понимаю?
Неудобная все-таки конструкция получаеться. Я думал максимум об одном файле. А так их будет по количеству открытых+Экселевский.Хм.


 
Денис Демченко   (2007-04-11 16:58) [3]

Подумал и решил дописать. Наверное, постраничное сохранение не прокатит-файлы содержат формулы, ссылающиеся на разные листы


 
umbra ©   (2007-04-11 17:08) [4]


> а что есть формат csv?

текстовый файл, столбцы разделены точкой с запятой.


> Неудобная все-таки конструкция получаеться. Я думал максимум
> об одном файле. А так их будет по количеству открытых+Экселевский.
> Хм.

зачем держать открытыми все файлы? Достаточно одного, с которым производится работа. текстовые файлы можно после разбора удалять.


 
Денис Демченко   (2007-04-11 17:20) [5]

Хм.А как тогда при запуске программы сохранять страницу  в текстовый файл?чем тогда воспользоваться?


 
umbra ©   (2007-04-11 17:24) [6]


> А как тогда при запуске программы сохранять страницу  в
> текстовый файл?чем тогда воспользоваться?

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


 
Денис Демченко   (2007-04-11 17:32) [7]

Спасибо!Ну что же, как вариант, очень даже подходит. Может, даже, это будет гораздо проще...
Блин,народ требует,чтобы была одна кнопка, по которой будет делатся ВСЕ!!!!херово... придеться писать все-таки с Экселем...



Страницы: 1 вся ветка

Форум: "Corba";
Текущий архив: 2011.12.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.003 c
15-1315315520
Palladin
2011-09-06 17:25
2011.12.25
Ассоциированные с файлом иконки в Vista и Windows 7


2-1316200336
Аня
2011-09-16 23:12
2011.12.25
Помогите пожалуйста!


3-1268903413
rar
2010-03-18 12:10
2011.12.25
BLOB -> Oracle


15-1315415972
ClawClaw
2011-09-07 21:19
2011.12.25
Индиана Джонс (лего)


15-1315415185
ради бога!
2011-09-07 21:06
2011.12.25
Сотрудник съехал с катушек или злой умысел?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский