Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
3 / 3 / 2
Регистрация: 29.06.2012
Сообщений: 118

Как считать столбецы из Excel и на основе них построить диаграму?

02.04.2014, 19:36. Показов 1921. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, дорогие форумчане.
Вопрос такой - возможно ли или нет?
Считать определенные столбцы с определенной строки до конца столбцов и построить диаграмму.
Первые два считанные столбца использовать для осей - вертикальной и горизонтальной, а третий столбец - для линии диаграммы.
Или как построить диаграмму и для линии задать данные из определенного считанного столбца?

Заранее благодарю за любой ответ.

Добавлено через 21 минуту
Почитал тут и там. Примерно, считать столбец в Stringgrid и потом через TChart нарисовать график.
Да?

Добавлено через 17 минут
Дайте, пожалуйста ссылку...на заполнение Stringgrid из excel и вторую ссылку построение графика tchart по stringgrid.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.04.2014, 19:36
Ответы с готовыми решениями:

Как считать данные из файла и построить на их основе несколько графиков в одном окне?
Всем привет! Имеется файл, содержащий выборки значений сигнала. Значения потенциалов выражены в мкВ. Частота дискретизации (Гц):...

Как построить круговую диаграму и гистограму?
Как построить круговую диаграму и гистограму? Есть какието класы, которые это реализируют или нужно рисовать самому?

Как построить круговую диаграму на web-странице?
Люди! подскажите как построить круговую диаграму на web-странице? НУжно очень срочно. Пробовал Microsoft Chart ActiveX - чего-то не...

8
 Аватар для demon_7
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
02.04.2014, 21:23
считываете Ваш exel через TStringList он умеет это хорошо делать, из него можете заполнить StringGrid и построить свои графики)
1
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
02.04.2014, 23:43
Цитата Сообщение от demon_7 Посмотреть сообщение
считываете Ваш exel через TStringList он умеет это хорошо делать, из него можете заполнить StringGrid и построить свои графики)
чиЁ ?

Добавлено через 54 секунды
Цитата Сообщение от RustamCTE Посмотреть сообщение
Как считать столбецы из Excel и на основе них построить диаграму?
Через OLE, гугли автоматизация Excel.
1
 Аватар для demon_7
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
03.04.2014, 08:04
Цитата Сообщение от Avazart Посмотреть сообщение
чиЁ ?
упс, ошибся) я просто работал с .csv файлами которые тоже обычно открываются Exel, и поспешил с выводами о способностях StringList
каюсь...
0
84 / 11 / 7
Регистрация: 10.02.2012
Сообщений: 225
Записей в блоге: 3
03.04.2014, 10:44
Лучший ответ Сообщение было отмечено RustamCTE как решение

Решение

вот тебе кусок кода который кидает из excel в базу данные на основании его считаешь с excela что тебе надо ну а график сам я графики не строил

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
33
34
35
36
AnsiString ppp,fff;
//ppp="A3";
//fff="vid";
int i,y,shag;
shag=3;
AnsiString mas[]={"","A","B","C","D","E","F","G","H","I","J","K","L","M"};
AnsiString baza[]={"","vid","name","fidr","enerobj","nomer","adress","place","street","house","ugaldoma","liter","stroenie","korpus"};
Table1->DatabaseName=GetCurrentDir()+"\\BAZA";
Table1->TableName="objekt.db";
Table1->Active=true;
Variant ActiveDocument,varAPP,varBooks,varBook,varSheets,varSheet,varCells,varCell,ttt;
varAPP=CreateOleObject("Excel.Application");
varAPP.OlePropertySet("Visible",true);
varBooks=varAPP.OlePropertyGet("WorkBooks");
varBooks.OleProcedure("OPEN","c:\\1234.xlsx");
varBook=varBooks.OlePropertyGet("Item",1);
varSheets=varBook.OlePropertyGet("Worksheets");
varSheet=varSheets.OlePropertyGet("Item",1);
//varCell=varSheet.OlePropertyGet("Range",ppp.c_str());
//ttt=varCell.OlePropertyGet("Value");
//Label1->Caption=ttt;
//ActiveDocument=Form1->varBook.OlePropertyGet("ActiveDocument");
for(i=1;i<=826;i++)
{
 
    Table1->Append();
    for(y=1;y<=13;y++)
       {
        ppp=mas[y]+shag;
        varCell=varSheet.OlePropertyGet("Range",ppp.c_str());
        Table1->FieldByName(baza[y])->AsString=varCell.OlePropertyGet("Value");
       }
       shag=shag+1;
 
}
Table1->Post();
Заместо базы подставишь TstringList
1
3 / 3 / 2
Регистрация: 29.06.2012
Сообщений: 118
03.04.2014, 15:35  [ТС]
demon_7, у меня есть возможность сохранить данные в формате .csv.
Буду рассматривать все варианты. Спасибо Всем за ответы.
0
 Аватар для demon_7
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
03.04.2014, 15:50
Вечером скину кусок кода, где *.csv считываю StringList'ом и передаю все в StringGrid
0
3 / 3 / 2
Регистрация: 29.06.2012
Сообщений: 118
03.04.2014, 15:57  [ТС]
demon_7, спасибо заранее)))


Выяснил сегодня, данные можно сохранять в разных форматах: *.csv, *.html, *.exl, *.txt
Коллега Артем, забил файл *.html через php на сервер и в принципе уже все готово.
Но для себя я хотел бы это сделать в с++ builder - считать из excel, записать в stringlist, а потом в stringgrid.
Буду ждать с нетерпением.
0
 Аватар для demon_7
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
03.04.2014, 20:59
Лучший ответ Сообщение было отмечено RustamCTE как решение

Решение

Код писался давно, поэтому не стесняйтесь переделывать


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
std::auto_ptr<TStringList> SL(new TStringList);  // Создаем StringList
 
if (OpenDialog1->Execute()) {
 
SL->LoadFromFile(OpenDialog1->FileName); // Засовываем выбраный файл
 
AnsiString str;        // Создаем строковую переменную для подсчета столбцов
int s=1;
str=SL->Strings[1];
for (int k= 1; k <=str.Length(); k++) {
if (str[k]==';') //столбцы будем считать по разделителям в 1 строке нашего файла
{
    s++;
}
StringGrid1->ColCount=s;             //количество столбцов)
StringGrid1->RowCount=SL->Count;     // Рисуем количество строк
}
for(int i=0;i<SL->Count;i++) //заполняем таблицу
 {
StringGrid1->Rows[i]->Delimiter=L';';   //указываем разделитель
StringGrid1->Rows[i]->StrictDelimiter=1;
StringGrid1->Rows[i]->DelimitedText=SL->Strings[i];  //заносим текст
 }
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.04.2014, 20:59
Помогаю со студенческими работами здесь

Построить векторную диаграму
Ребята помогите дело такое что мне нужно построить с помощью векторного уравнения функции график описывающий силовое поле. Я все составил...

Как вручную ввести полные имена файлов что бы потом считать/записать информацию с них/на них?
Надо открывать/закрывать файлы в программе для работы с ними. Файлы текстовые (не части проекта). Так вот. Как это сделать в коде я знаю...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru