Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/16: Рейтинг темы: голосов - 16, средняя оценка - 4.75
 Аватар для besh]<a
13 / 11 / 1
Регистрация: 02.11.2009
Сообщений: 194

Чтение xls/xml.

17.02.2012, 00:44. Показов 3115. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть файл xls 30000 записей. Читаю литературу везде написано, что запускается эксель и читаются уже данные. Нельзя не запуская эксель прочитать файл?
Также я переделал его в xml. XMLDocument билдера читает очень долго, секунд 10-15.
Подскажите что делать...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.02.2012, 00:44
Ответы с готовыми решениями:

OpenOffice чтение документа xls
В данной теме мне помогли с файлом DOC(X) https://www.cyberforum.ru/cpp-builder/thread1265514.html Там спасибо :) Кстати, если можно...

Чтение и сохранение информации из .xls (Excel)
Всем еще раз привет) у кого есть какие идеи, как при помощи OLE открыть файлик, оценить размерность матрицы, и радостно записать ее в...

Чтение XML файла не с формы
Добрый вечер. Есть Приложение. В приложении есть Form и Unit. С помощью каких средства можно в Unit произвести чтение XML файла....

9
8 / 8 / 0
Регистрация: 14.10.2011
Сообщений: 118
17.02.2012, 00:46
вроде нет, везде сначала запускаеться ексель, хотя может быть какой нибудь способ
0
Модератор
 Аватар для vxg
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
17.02.2012, 09:37
если данные не шибко специфичные (например массив измерений некоторой величины) можно сохранить его как csv и читать как обычный файл. читает очень быстро
0
 Аватар для besh]<a
13 / 11 / 1
Регистрация: 02.11.2009
Сообщений: 194
17.02.2012, 12:35  [ТС]
vxg, есть какие нибудь средства в билдере для чтения csv?...
0
Модератор
 Аватар для vxg
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
17.02.2012, 13:04
открываете файл и читаете данные. например, в файле таблица. первый столбец отметка времени, затем столбцы с данными по измеренным параметрам. тогда
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
    FILE *fs_csv = fopen("test.csv", "r");
 
    if (!fs_csv)
    {
        //ошибка
    }
 
    for (int i = 0; i < records_count; i++)
    {
        char t[32];
        float v;
        if (!fscanf(fs_csv, "%s;", t))
        {
            //ошибка
        }
        //здесь отправьте отметку времени туда куда вам нужно
        for (int j = 0; j < sensors_count_minus_one; j++)
        {
            if (!fscanf(fs_csv, "%f;", &v))
            {
                //ошибка
            }
            //здесь отправьте данные по измерению туда куда вам нужно
        }
        if (!fscanf(fs_csv, "%f\n", &v))
        {
            //ошибка
        }
        //здесь отправьте данные по измерению туда куда вам нужно
    }
 
    fclose(fs_csv);
1
 Аватар для besh]<a
13 / 11 / 1
Регистрация: 02.11.2009
Сообщений: 194
17.02.2012, 20:50  [ТС]
А нету более высокоуровневых инструментов?
Наткнулся на такой пост:
Есть такая компанента TMSGrid, a у нее есть TAdvStringGrid, а у него есть метод LoadFromCSV (). Соответственно, загружает данные из CSV-файла в грид. И вообще очень удобный во всех отношениях грид, пользуюсь им вместо стандартного TStringGrid!
Только такой компоненты не нашел.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
17.02.2012, 23:20
Цитата Сообщение от besh
<a]Только такой компоненты не нашел.
или не искал:
TMS Grid Pack
TMS Grid Pack Developers Guide
0
 Аватар для besh]<a
13 / 11 / 1
Регистрация: 02.11.2009
Сообщений: 194
18.02.2012, 08:31  [ТС]
LK, ну это же не стандартный компонент. Я искал среди стандартных компонент билдера. В рамках rad studio 10 нету средств для чтения csv?
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
18.02.2012, 12:38
Цитата Сообщение от besh]<a Посмотреть сообщение
А нету более высокоуровневых инструментов?
Наткнулся на такой пост:
Есть такая компанента TMSGrid, a у нее есть TAdvStringGrid, а у него есть метод LoadFromCSV (). Соответственно, загружает данные из CSV-файла в грид. И вообще очень удобный во всех отношениях грид, пользуюсь им вместо стандартного TStringGrid!
Только такой компоненты не нашел.
Единственное, что можно было понять из вашего сообщения, это - что вы ищете компонент именно TMSGrid, а включать угадыватель мыслей на расстоянии из-за такого пустяка мне было лень .
В стандартной поставке есть, кажется, TExcelApplication, который по умолчанию отключен.
Что же казается файла csv, то это обычный текстовый файл, в котором данные разделены запятыми, и какие-нибудь особые извражения для его чтения не нужны, да и инфы по этому файлу и его использованию даже на форуме более чем достаточно.
1
 Аватар для besh]<a
13 / 11 / 1
Регистрация: 02.11.2009
Сообщений: 194
23.02.2012, 21:56  [ТС]
Решил так. Загрузил текстовый файл в TStringList и вручную разделил поля. И все же мне не нравятся такие транзакции, сделанные вручную, рассчитывал на что нибудь типа Get[i][j].

Не по теме:

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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.02.2012, 21:56
Помогаю со студенческими работами здесь

[XML] - Как правильно сохранить XML с уровнями и отступами?
Приветы всем. Подскажите как правильно сохранить файл .xml чтобы сохранились отступы в уровнях и узлах? Есть такой простенький для...

Копирование определенного узла из одного XML в другой XML
Подскажите пожалуйста как скопировать узел из одного XML в другой XML в C++ Builder 6 &lt;?xml version=&quot;1.0&quot;...

[XML] Как отсортировать данные в XML?
Друзья привет. В ранее созданой теме приводил пример .xml файла. Подскажите если мне нужно отсортировать такой хмл по File или Date,...

Ко всем файлам добавилось .xml, теперь они в формате ***.xls.XML, ***doc.XML (изначально в Word и Excel)
при копировании с одного ноутбука на другом (изначально на новом не было офиса, м.б. из-за этого файлы так перенаименовались) они появились...

XML -> XLS
Есть XML-файл, нужно создать XLS. Это возможно вообще??


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru