Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.95/21: Рейтинг темы: голосов - 21, средняя оценка - 4.95
8 / 8 / 0
Регистрация: 15.11.2015
Сообщений: 177

Размер файла при переносе данных из excel в access

14.01.2017, 23:02. Показов 4437. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте,

Данные в excel занимают места в 10 раз меньше, чем такие же данные в access. Подскажите, пожалуйста, можно ли сделать, так, чтобы объем файла access был по размеру таким же как с данными в excel? Все данные текстовые.
Спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.01.2017, 23:02
Ответы с готовыми решениями:

Форматирование файла Word при переносе из Excel
Добрый день! Прошу помощи, так как ответа сам не нашел. Существует макрос переноса листа из excel в word созданием файла. 'Кнопка...

Проблемы с кодировкой при переносе данных из Access в Oracle
Помогите please. Есть данные в таблицах Access (XP). Нужно их копировать в Оракл. Создал линки оракловских таблиц в Аксессе. Создал...

Избавиться от символа каретки, при переносе данных из Excel в StringGrid
Уважаемые друзья помогите избавиться от символа каретки, при переносе данных из Excel в StringGrid Делфи. Мой код переноса такой: ...

21
Эксперт MS Access
26825 / 14505 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
15.01.2017, 00:01
Даже пустой, только созданный файл mdb/accdb весит около 300 КБ. Плюс данные, индексы, формы, отчеты. Все картинки на формах и их контролах содержатся как bitmap, а это значительное увеличение против сжатых графических форматов.
Кроме того в аксе всегда есть многочисленные системные таблицы. Иногда они занимают очень немалое место.
Индексы на каждое поле тоже могут серьезно поднять объем. Ну и мусор конечно. Если не сжимать базу, то она пухнет на глазах.

Но при очень значительных объемах - миллионы записей - разница между екселем и аксом становится все меньшей с увеличением объема. Например, файл Excel c 11 полями (4 из них текстовые, остальные числовые) и миллионом строк занял 118 мегабайт. Эта же инфа, импортированная в таблицу Access, заняла в файле mdb 166 мегов. Уже увеличение всего в полтора раза.
В любом случае файл Access все равно будет больше. Если конечно сравнивать только данные.
3
8 / 8 / 0
Регистрация: 15.11.2015
Сообщений: 177
15.01.2017, 01:27  [ТС]
Есть экселевский файл с 20 млн записей. Он весит 25 мб
  • если эти записи переносить в аксесс, то его размер будет 350 мб.
  • Есть ли какая то возможность, чтобы этот файл весил например не 350 мб, а 150 (хотя бы в 5 раз был больше чем эксель а не в 10).
  • Экселевских файлов 6
  • 5 файлов при переносе в аксесс весят 2 гб и из 6 файла данные не заносятся в базу данных.
  • Вот хочется понять, можно ли как то уменьшить размер базы, чтобы можно было перенести данные из всех экселевских файлов.
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12208 / 5051 / 812
Регистрация: 07.08.2010
Сообщений: 14,905
Записей в блоге: 4
15.01.2017, 01:32
Цитата Сообщение от Bregra Посмотреть сообщение
Есть экселевский файл с 20 млн записей
может он не нормализован, какова структура его строк
1
8 / 8 / 0
Регистрация: 15.11.2015
Сообщений: 177
15.01.2017, 01:37  [ТС]
А что значит не нормализован? В файле эксель 600 000 строк и 34 столбца. Все столбцы кроме одного текстовые а один числовой.
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12208 / 5051 / 812
Регистрация: 07.08.2010
Сообщений: 14,905
Записей в блоге: 4
15.01.2017, 01:42
Цитата Сообщение от Bregra Посмотреть сообщение
А что значит не нормализован? В файле эксель 600 000 строк и 34 столбца. Все столбцы кроме одного текстовые а один числовой.
если есть столбец город и значение Москва в нем упоминается хотя бы 100 раз из 600000, значит ваша база не нормализована --наименование города не заменено числовой ссылкой на справочник городов
1
8 / 8 / 0
Регистрация: 15.11.2015
Сообщений: 177
15.01.2017, 01:46  [ТС]
База данных не нормализована, в базе почти все столбцы, в которых есть повторяющиеся значения. И повторятся в некоторых случаях они могут очень много раз (может и 200 000 раз)
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12208 / 5051 / 812
Регистрация: 07.08.2010
Сообщений: 14,905
Записей в блоге: 4
15.01.2017, 01:46
Цитата Сообщение от Bregra Посмотреть сообщение
Есть экселевский файл с 20 млн записей. Он весит 25 мб
то есть на запись приходится 1 байт ---непонятно, вернее невероятно
34 поля даже в зипе явно займут больше 1 байта
1
8 / 8 / 0
Регистрация: 15.11.2015
Сообщений: 177
15.01.2017, 01:50  [ТС]
Если быть точным то в файле 34 столбца, 593 784 строки. Весит он 26 119 160 bytes. Ексель 2016
Миниатюры
Размер файла при переносе данных из excel в access  
0
Эксперт MS Access
26825 / 14505 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
15.01.2017, 01:52
Bregra, возможно в таблице Access в текстовых полях не установлено сжатие Юникод. Одно это увеличит размер почти вдвое. Надо открыть таблицу в конструкторе и посмотреть внизу свойство "сжатие Юникод". Должно быть "Да".

Второе. Предположение на основании только одного, может быть неудачного эксперимента. Однажды при импорте из екселя текстовые поля стали типа Char, т.е они справа дополнялись пробелами до величины указанной в свойстве Размер поля. Что конечно увеличивало размер таблицы. Диагностировать легко, просто откройте таблицу, встаньте в текстовое поле и нажмите клавишу End. Если на коротких строках справа есть пробелы, то это тип Char. Тогда надо преобразовать тип в Varchar без конечных пробелов. Запрос на изменение типа
SQL
1
ALTER TABLE ИмяТаблицы ALTER COLUMN ИмяПоля VARCHAR(255)
Затем таблицу нужно апдейтить, чтобы удалить пробелы
SQL
1
UPDATE ИмяТаблицы SET ИмяПоля=TRIM(ИмяПоля)
1
Модератор
Эксперт MS Access
 Аватар для shanemac51
12208 / 5051 / 812
Регистрация: 07.08.2010
Сообщений: 14,905
Записей в блоге: 4
15.01.2017, 01:54
значит на строку ~ 52 байта
и какая версия ексель, какой формат файла

---
может выложите шапку с парой-тройкой строк, чтобы понять структуру строк
1
8 / 8 / 0
Регистрация: 15.11.2015
Сообщений: 177
15.01.2017, 01:58  [ТС]
Unicode стоит на сжатие и пробелов в данных вроде нет.
Миниатюры
Размер файла при переносе данных из excel в access  
0
8 / 8 / 0
Регистрация: 15.11.2015
Сообщений: 177
15.01.2017, 02:09  [ТС]
Во вложении пример.
Вложения
Тип файла: zip Example.zip (19.4 Кб, 4 просмотров)
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12208 / 5051 / 812
Регистрация: 07.08.2010
Сообщений: 14,905
Записей в блоге: 4
15.01.2017, 02:22
сплошные подстановки --похоже в формате xlsb делается автоматическая замена текстовых полей на числовые ссылки --поэтому он такой маленький
если сохраните его в xls ---сразу увеличится в разы


для удобства трансформировала строки
    
   Customer
Customer NameООО "Рога и копыта"Компания момпанияИмя Клиента
Commercial TerritoryMoscowMoscowКоммерческая территория
Sales Organization11111112Организация продаж
SO NameNameName1SO Имя
Demand Area2222#Спрос Площадь
DA NameNameNameИмя Д.А.
Sub Demand Area1111DD111111MM11Sub Спрос Площадь
SDA NameNameNameИмя SDA
Terr. ID - BP#11AAТерр. ID - BP
Sales Office#11AAОфис продаж
SOf NameNameNameИмя SOF
PID - Area Sales ManagerNameNamePID - Региональный менеджер по продажам
Sales Group#1aaваловая реализация
SGr Name#NameИмя SGR
PID - Team LeaderNameNamePID - Руководитель группы
PID - Business DeveloperNameNamePID - Business Developer
Cust. Planning Level#111111Каст. Уровень планирования
CPL NameNameNameИмя CPL
Cust.Hier.3#NameCust.Hier.3
CH3 Name#NameИмя CH3
Business TypeAAВид бизнеса
BT nameNameNameимя BT
Credit Risk ClassNameNameКласс кредитного риска
Terms of Payment KeyZZ11ZZ11Условия платежа Key
TP NameNameNameИмя TP
Credit Days##Кредитные дни
Tax Code 188888888888888888888Налоговый кодекс 1
Payer55555555556666666666плательщик
Payer NameNameNameИмя Плательщик
Trade Name ISCOM#11111Торговая марка ИСКОМ
TrN NameNameNameИмя TRN
Sales District##Район продаж
SDis Name#NameИмя SDIS
1
Эксперт MS Access
26825 / 14505 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
15.01.2017, 02:27
Bregra, понятно почему ексель-файл занимает так мало места. Он хранится в специальном формате xlsb, с упакованными данными. Если Вы сохраните его в формате XLSX, то он будет в 10-20 раз больше.
В Access данные не хранятся в упакованном виде.

Я бы сделал несколько файлов accdb, поместив в каждый из них свой файл екселя. По мере необходимости обращаться к ним.
1
8 / 8 / 0
Регистрация: 15.11.2015
Сообщений: 177
15.01.2017, 02:30  [ТС]
Да, увеличивается существенно. В формате xlsx файл весит почти 98 мб
Миниатюры
Размер файла при переносе данных из excel в access  
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12208 / 5051 / 812
Регистрация: 07.08.2010
Сообщений: 14,905
Записей в блоге: 4
15.01.2017, 02:33
Цитата Сообщение от Bregra Посмотреть сообщение
В формате xlsx файл весит почти 98 мб
значит в xls, более близком аналоге аксесс будет 300-400 мб
1
8 / 8 / 0
Регистрация: 15.11.2015
Сообщений: 177
15.01.2017, 02:38  [ТС]
Ясно, а можете посоветовать, если база данных больше 2 гб, то как лучше хранить данные? Можно ли создать две базы, но чтобы одна база автоматически брала данные из запроса в другой базе данных?
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12208 / 5051 / 812
Регистрация: 07.08.2010
Сообщений: 14,905
Записей в блоге: 4
15.01.2017, 02:41
Цитата Сообщение от Bregra Посмотреть сообщение
база автоматически брала данные из запроса в другой базе данных
обратиться к другой базе можно
более существенно --могут ли в одном запросе понадобиться 2-6 порций одновременно
1
8 / 8 / 0
Регистрация: 15.11.2015
Сообщений: 177
15.01.2017, 02:45  [ТС]
По сути запрос будет состоять из одного столбца и с этим запросом нужно будет составить еще один запрос. Раз можно, попробую сейчас понять как это сделать. Спасибо за помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.01.2017, 02:45
Помогаю со студенческими работами здесь

При переносе данных из datagridview в Excel, ячейки, в которые не влезают данные, заполняются решетками. Как исправить?
Всем добрый день. Из заголовка, мне кажется, всё и так понятно. Как можно это по-другому оформить? И да, может кто объяснить по примеру,...

Проверка данных из XML файла при переносе информации из торговли в бухгалтерию
Добрый день. Такая проблема возникла - с помощью обработчика мы выполняем выгрузку данных из торговли 8 по определенной организации,...

Ошибка "не найдена колонка" при переносе данных из Excel
Приветствую. Появились проблемы при выполнении дипломной работы, при нажатии кнопки "печать" программа отправляет на печать...

Импорт данных из Excel файла в Access
Доброго времени суток, подскажите пожалуйста каким образом можно осуществить импорт данных из Экзель файла в таблицу Access, если типы...

Увеличивается размер шрифта при переносе в powerpoint
Доброго времени суток! При переносе текста из документа Word 2003 в PowerPoint происходит увеличение шрифта с 11 до 44. Кто- нибудь может...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
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/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru