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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2012, 23:03   #1
David3
Новичок
Джуниор
 
Регистрация: 24.12.2012
Сообщений: 2
По умолчанию Работа с Excel

Прошу помощи, потому что в Делфи не очень разбираюсь .. но кое-что пробую делать ..
На этом форуме нашел код, который позволяет сохранить данные с StringGrid в Excel, с возможностью указания куда сохранить...
Но теперь хочу сделать, чтобы эти данные которые занеслися в Эксель, можно было импортировать обратно в SringGrid с помощью кнопки меню Open, открылось окошко файлов, в котором я найду этот Excel-файл и щелкнув на него данные занеслися в этот же StringGrid...


Код:
function TForm1.GetExcelSaveAs: String;
begin
Result:= SaveDialog1.FileName + '.xls';
end;

procedure TForm1.Save1Click(Sender: TObject);
var
ExcelApp, Sheet: variant;
Col, Row: Word;
begin
if SaveDialog1.Execute then
begin
ExcelApp:= CreateOleObject('Excel.Application');
try
ExcelApp.Visible:= False;
ExcelApp.Workbooks.Add;
Sheet:= ExcelApp.ActiveWorkBook.WorkSheets[1];
for Col:= 0 to StringGrid1.ColCount -1 do
for Row:= 0 to StringGrid1.RowCount -1 do
Sheet.Cells[Row + 1, Col +1]:= StringGrid1.Cells[Col, Row];
ExcelApp.ActiveWorkbook.SaveAs(GetExcelSaveAs);
finally
ExcelApp.Application.Quit;
ExcelApp:= Unassigned;
Sheet:= Unassigned;
end;
end;
ShowMessage('Сохранено!');
end;


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 25.12.2012 в 13:45.
David3 вне форума Ответить с цитированием
Старый 25.12.2012, 13:16   #2
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

И где Ваш вопрос? Делайте тоже самое, только в обратном порядке, вернее циклом пробегайтесь не по стринггриду, а по Экселю.
FaTaL вне форума Ответить с цитированием
Старый 25.12.2012, 14:05   #3
David3
Новичок
Джуниор
 
Регистрация: 24.12.2012
Сообщений: 2
По умолчанию

Цитата:
Сообщение от FaTaL Посмотреть сообщение
И где Ваш вопрос? Делайте тоже самое, только в обратном порядке, вернее циклом пробегайтесь не по стринггриду, а по Экселю.
Вопрос в том, что я не знаю как это сделать, и прошу помощи. Кто может помочь и написать каким должен быть код с объяснением. На основе выше приведенного кода.
David3 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с Excel inject БД в Delphi 0 17.01.2012 13:16
дз работа в excel Niki4anskii Помощь студентам 1 03.07.2011 22:47
Работа с Excel Mamuk Общие вопросы Delphi 9 05.08.2010 08:48
работа с ms excel 1o1man Помощь студентам 18 05.05.2009 19:10