Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.01.2008, 12:49   #1
monushka
Форумчанин
 
Аватар для monushka
 
Регистрация: 26.10.2007
Сообщений: 112
По умолчанию Excel и StringGrid в Delphi

Уважаемые программисты! Помогите, пожалуйста, разобраться со StringGrid'ом!
Необходимо данные из StringGrid'а сохранить в Excel'евский файл таким образом, чтобы каждая колонка StringGrid'а сохранялась в отдельную колонку Excel'евской таблицы. Я сделала вот так:
Код:
FName:=Edit2.Text;
AssignFile(F,FName);
Rewrite(F);
Writeln(F,#13+SG1.Cells[0,0]+'     '+SG1.Cells[1,0]+'     '+
              SG1.Cells[2,0]+'     '+SG1.Cells[3,0]+'     '+
              SG1.Cells[4,0]+'     '+SG1.Cells[5,0]+#13);
for i:=1 to (SG1.RowCount-1) do
Writeln(F,SG1.Cells[0,i]+'     '+SG1.Cells[1,i]+'     '+
          SG1.Cells[2,i]+'     '+SG1.Cells[3,i]+'     '+
          SG1.Cells[4,i]+'     '+SG1.Cells[5,i]);
closefile(F);
Но в результате все сохраняется в одну колонку А в Excel'е. Помогите, пожалуйста! Что еще нужно добавить, чтобы нормально сохранялось?
Спасибо
If you wanna make the world a better place take a look at yourself and then make a change!
monushka вне форума Ответить с цитированием
Старый 29.01.2008, 13:21   #2
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

По моему данные в строке должны быть через точку с запятой. Тогда Excel строку поделит на колонки
alexBlack вне форума Ответить с цитированием
Старый 29.01.2008, 14:11   #3
monushka
Форумчанин
 
Аватар для monushka
 
Регистрация: 26.10.2007
Сообщений: 112
По умолчанию

Если вводить данные через ";", то выдает ошибку "ожидалось , или ), а найдено ;". Если вводить через ",", то сохраняется точно так же в одну колонку.
Может еще какие-то предложения есть по этому поводу?
If you wanna make the world a better place take a look at yourself and then make a change!
monushka вне форума Ответить с цитированием
Старый 29.01.2008, 14:26   #4
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Поставь расширение текстового файла *.csv, цифры разделяй ; - должно работать.
Можно сохранить Excel - документ в csv и посмотреть что получилось, а затем сделать тоже самое.

Последний раз редактировалось _Dmitry; 29.01.2008 в 14:29.
_Dmitry вне форума Ответить с цитированием
Старый 29.01.2008, 14:34   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А сразу в Экзель через СОМ связку кидать уже не модно?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.01.2008, 14:46   #6
monushka
Форумчанин
 
Аватар для monushka
 
Регистрация: 26.10.2007
Сообщений: 112
По умолчанию

_Dmitry, я попробовала сохранить с расширением *.csv, как Вы сказали. Ничего не изменилось. А что значит "разделить цифры ;". Это какие цифры?
Stilet, я не знаю что это такое...
If you wanna make the world a better place take a look at yourself and then make a change!
monushka вне форума Ответить с цитированием
Старый 29.01.2008, 14:59   #7
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Ну, я ведь не знаю что у вас в таблице, если не цифры, то текст. Вот его и разделяйте ;
А лучше введите в Excel-е то, что у вас в StringGrid, сохраните это в формате csv и посмотрите в блокноте что получилось. А затем этот файл создавайте из программы и сравнивайте с эталоном.
_Dmitry вне форума Ответить с цитированием
Старый 29.01.2008, 15:23   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
я не знаю что это такое...
ТОгда смотрим на http://delphiworld.narod.ru/base/sg_to_excel_exp.html
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.01.2008, 15:40   #9
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Ну, зачем же девушку сразу так пугать.
Я советую книгу Корнякова В.Н "Программирование документов и приложений MS Office в Delphi"
http://win-web.ru/itbooks/open/korny...docdelphi.html
Там все доволно просто и доступно.
Есть диск с примерами из книги, если кому надо, пишите.
_Dmitry вне форума Ответить с цитированием
Старый 30.01.2008, 19:33   #10
monushka
Форумчанин
 
Аватар для monushka
 
Регистрация: 26.10.2007
Сообщений: 112
По умолчанию

_Dmitry, спасибо за ссылку. Книгу скачала, ознакомилась. Но вопросы все равно имеются (простите за назойливость).
В общем, такие вещи как открыть Excel, создать лист, записать туда данные из Edit'а в одну ячейку или в диапазон и т.п. теперь я могу сделать. Но! Опять таки StringGrid! Как организовать цикл так, что бы данные из СтрингГрида записывалиь в диапазон ячеек?? А то отдельно записывать каждую ячейку как-то неудобно, т.к. в моей таблице строк больше 200!!
Спасибо за помощь!
If you wanna make the world a better place take a look at yourself and then make a change!
monushka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Borland C++ Builder - импорт из Excel в StringGrid nuser C++ Builder 3 10.01.2015 12:38
из StringGrid в Excel artemavd Общие вопросы Delphi 6 24.07.2008 18:14
Excel и StringGrid... Roof Общие вопросы Delphi 2 18.09.2007 17:07
Delphi(Stringgrid) подскажите zzzzz Помощь студентам 1 14.07.2007 11:51
Excel и StringGrid apx_angel Компоненты Delphi 2 20.02.2007 00:20