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

Записать из StringGrid в Excel

26.05.2013, 15:20. Показов 1410. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, уважаемые форумчане!
Пытаюсь записать из StringGrid в Excel. Записывается, но записывается не соответственно строкам и столбцам, а в один аккуратный столбец, получается довольно очаровательно, но не правильно.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void __fastcall TForm1::Button3Click(TObject *Sender)
{
std::auto_ptr<TStrings> SaveStrings( new TStringList());
const int col_count =StringGrid1->ColCount;
        for (int i=0;i<=StringGrid1->RowCount;i++)
                {for (int j=0;j<=StringGrid1->ColCount;j++)
                        {
                          SaveStrings->AddStrings(
                                StringGrid1->Cols[i]);
                        }
       SaveStrings->SaveToFile("Shema.xls");
                }
}
Подскажите пожалуйста, в чем оштбка

Добавлено через 45 минут
Спасибо. Разобралась уже как записать.

Добавлено через 2 часа 37 минут
Записала по другому, но возникла совершенно другая проблема.
Записывает, все прекрасно, но похоже записывает не все столбцы (не могу увидеть что именно делает, т.к. в StringGrid показывает цвет, а в Excel записывает только номер. Но видно, что что-то не так, возможно кто-нибудь сможет помочь.
C++
1
2
3
4
5
6
7
8
9
10
11
WideString str;
TStringList *sl = new TStringList;
        for(int i = 0 ; i<StringGrid1->RowCount ;i++)
                {for(int j = 0; j< StringGrid1->ColCount;j++)
                        str +=StringGrid1->Cells[j][i]+ "\t";
                        sl->Add(Trim(str));
                        str = "\n\r" ;
                }
        if (SaveDialog1->Execute())
        sl->SaveToFile(SaveDialog1->FileName);
        delete sl;
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.05.2013, 15:20
Ответы с готовыми решениями:

Из StringGrid в Excel-> Из Excel в StringGrid
Пишу программу котторая загружала бы таблицу .xls-&gt; редактирование -&gt;save -----.xls Как загружаь и сохранять таблици ексель при помощи...

Из Excel в StringGrid
Здравствуйте! Такая проблема: не могу перенести данные из Excel в StringGrid, выдает ошибку &quot;Неверный тип переменной&quot;. Код в...

Из Excel в StringGrid
Подскажите как можно считать данные из Excel в StringGrid

2
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
27.05.2013, 08:44
вам видно, что что-то не так, а нам вообще ничего не видно, вроде все корректно.
сохраняете вы в простой текстовый файл, а экселем лишь открываете.
откройте этот файлик блокнотом, гляньте что да как там.

Цитата Сообщение от Vashtanerada Посмотреть сообщение
т.к. в StringGrid показывает цвет
как это понять?
0
2 / 2 / 1
Регистрация: 29.11.2012
Сообщений: 143
27.05.2013, 20:23  [ТС]
Цитата Сообщение от AntonChik Посмотреть сообщение
Сообщение от Vashtanerada
т.к. в StringGrid показывает цвет
как это понять?
В ячейке таблицы хранится номер цвета и в соответствии с ним ячейка закрашивается этим цветом и самого числа мне не видно, а в Excel как раз сами номера и пишутся.
Цитата Сообщение от AntonChik Посмотреть сообщение
вам видно, что что-то не так, а нам вообще ничего не видно, вроде все корректно.
А ошибку я уже нашла, спасибо.
Цитата Сообщение от Vashtanerada Посмотреть сообщение
str +=StringGrid1->Cells[j][i]+ "\t";
Здесь i, j местами надо было поменять. Простая опечатка.

Добавлено через 27 секунд
Теперь все работает корректно

Добавлено через 10 часов 0 минут
Правда теперь возник несколько иной вопрос, можно ли сделать так, чтобы при сохранении таблицы расширение *.xls было по умолчанию, т.е. что бы его не нужно было прописывать в ручную?
Подскажите, кто что сможет.

Добавлено через 1 час 11 минут
Уже разобралась как это сделать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.05.2013, 20:23
Помогаю со студенческими работами здесь

Как записать значение в StringGrid
В оконном приложении билдера нужно чтобы при нажатии на определенную ячейку StringGrid'a он заполнялся заранее заданным символом.Очень...

Записать текст из Edit в StringGrid
Как програмно сделать так, что бы когда я ввожу в Edit сообщение и у меня есть stringGrid на 6X7 ето сообщение записало в stringGrid?

Как DateTimePicker записать в StringGrid
Как DateTimePicker записать в StringGrid, ибо в нете нету!

StringGrid записать в массив координаты ячейки
подскажите пожалуйста можно ли как то записать в массив координаты ячейки StringGrid?

Как мне записать данные в stringgrid
У меня в стринговые переменные записаны данные. Как мне из вывести в stringgrid? Заранее спасибо.


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
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
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru