Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: [Решено]Реализация хранения и показа строк в excel
Форум на CrossPlatform.RU > Разработка > С\С++
Cergey
Всем здраствуйте!!! B)

Наверное мне сюда.

Кто-нибудь знает как хранятся сами ячейки в Excel'e??? 65000 строк и 256 столбцов оперативу посадят. Может тама хеш-функция или указатели на ячейки тока сохр.???

Кто знает прошу подсказать. в гоогле ненашел.

UPD1 Как хранятся в приложении пустые ячейки. 65000*256- как-то оптимизировать же надо???
UPD2 Первый ответ СПС BRE Комент № 10

Сам нашел. Всем спасибО!!!
Алексей1153
нет, тебе явно не сюда :)

А вопрос всё равно не понятен - какое то бессвязное излияние междометий
BRE
Цитата(Cergey @ 11.9.2010, 17:42) *
Кто знает прошу подсказать. в гоогле ненашел.

Скорее всего там хранятся значения только для заполненных (не пустых) ячеек.
Cergey
Я про, то как хранятся в приложении пустые ячейки. 65000*256- как-то оптимизировать же надо???
BRE
Цитата(Cergey @ 12.9.2010, 8:50) *
Я про, то как хранятся в приложении пустые ячейки. 65000*256- как-то оптимизировать же надо???

Дык, а я про что. :)
Они не как не хранятся в приложении, хранятся только заполненные.
Алексей1153
Cergey,
1) можно хранить таблицу нулевых указателей, а память выделять тогда, когда потребовалось хранить данные ячейки
2) если скорость не критична, а с озу негусто, можно применить кеш
Cergey
Нее. Это для универа (струкруры данных). Тама что-то сложнее, а что не найду.
Пример был с хеш-функцией для вычисления конк. ячейки. Но тама что-то сложнее...
А что не найду........

Точнее для вычисления указателя для конк. ячейки.
Алексей1153
при чём тут хеш (hash) , я про КЕШ (cash) говорю :)
Cergey
А я про хеш-функцию. Прочитай на верху...

МОДЕРАТОРЫ НА ВАС НАДЕЮСЬ :rolleyes:
BRE
Хм. С точки зрения расхода памяти, лучше не создавать в памяти "таблицу" 65000*256 указателей на cell, а хранить только те ячейки, в которых установлены данные (можно в хеше, можно в мапе).
Пусть таблица будет хоть 1 000 000 * 1 000 000.
Псевдокод:
QHash<QString, Cell> table;

// Пользователь ввел число 3 в ячеку A1
table[ "A1" ] = Cell( 3 );

// Пользователь ввел строку "Test" в ячеку C12
table[ "C12" ] = Cell( "Test" );

// Все остальные ячеки таблици, которых нет в коллекции table считаются пустыми.

Cergey
BRE, меп может и на это прерод намекал.
Один ответ есть СПС

А еще идеи??? :p
Влад
Основная идея уже изложена. Для подобных приложений характерна структура данных "разреженный массив" (или "разреженная матрица") - т.е. реально хранятся только непустые ячейки.
Cergey
Да эт знаю. Вопрос в том как указатели на пустые хранятся, находятся.
kwisp
Цитата(Cergey @ 13.9.2010, 18:16) *
Да эт знаю. Вопрос в том как указатели на пустые хранятся, находятся.

так по-подробнее пожалуйста.
что именно знаете про хеш, разреженные массивы и матрицы?

П.С.
а то чувствую тему в юмор переносить скоро надо будет.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.