Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/267: Рейтинг темы: голосов - 267, средняя оценка - 4.87
1 / 1 / 1
Регистрация: 30.11.2009
Сообщений: 41
1

Сохранить excel файл

08.05.2010, 07:13. Показов 49503. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
надо как-то програмно сохранить excel файл
Delphi
1
2
3
4
5
6
  XL := CreateOleObject('Excel.Application');
  XL.DisplayAlerts := true;
  XL.WorkBooks.Add;
  XL.WorkBooks[1].WorkSheets[1].Name := 'Прайс';
  XL.WorkBooks[1].WorkSheets[1].Cells[1,1] := 'Кол-Во';
  XL.Visible := true;
XL: variant;
пробовал типа такого XL.WorkBooks.save(mydir+'\test.xls'); ругается что сохранение не может быть автоматическим объектом(или как-то так).
или подскажите может можно задать путь для сохранения, то есть я в excel'e нажму кнопку сохранить как а он уже покажет нужную для меня папку а не папку "Мои документы"
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.05.2010, 07:13
Ответы с готовыми решениями:

Как сохранить файл Excel`я?
Приветствую. Проблема состоит вот в чём. Я с помощью OLE создаю и редактирую таблицу Excel`я....

Как сохранить листы Excel в отдельный файл
Здравствуйте Уважаемые! Помогите решить задачу!!! Есть книга Excel с несколькими листами. Как...

Сохранить файл в Excel
Здравствуйте!!! Помогите пожалуйста разобраться, в 1с начинающий, написал обработку. При выборе...

Сохранить в excel файл
Здравствуйте! Через DBGrid заношу данные в excel файл, окно excel не видимо(специально) как...

6
150 / 150 / 3
Регистрация: 05.05.2010
Сообщений: 570
08.05.2010, 08:11 2
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
procedure TForm1.Button1Click(Sender: TObject);
var
  XL: OleVariant;
begin
  XL := CreateOleObject('Excel.Application');
  XL.DisplayAlerts := true;
  XL.WorkBooks.Add;
  XL.WorkBooks[1].WorkSheets[1].Name := 'Прайс';
  XL.WorkBooks[1].WorkSheets[1].Cells[1,1] := 'Кол-Во';
  XL.Visible := true;
  XL.WorkBooks[1].SaveAs('c:\temp\test.xls');
end;
2
1 / 1 / 1
Регистрация: 30.11.2009
Сообщений: 41
08.05.2010, 13:41  [ТС] 3
очень благодарен =)
0
1 / 1 / 1
Регистрация: 28.09.2010
Сообщений: 49
21.04.2012, 15:18 4
Delphi
1
   XL.WorkBooks[1].SaveAs(ExtractFilePath(Application.ExeName)+'1.xls');
сохранит в папку где находится проект
0
1905 / 1016 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
21.04.2012, 18:25 5
Вместо Application.ExeName лучше использовать ParamStr(0)
0
1 / 1 / 1
Регистрация: 28.09.2010
Сообщений: 49
21.04.2012, 18:29 6
Цитата Сообщение от deathNC Посмотреть сообщение
Вместо Application.ExeName лучше использовать ParamStr(0)
я по другому сделал.
Delphi
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
try
 Excel:=CreateOleObject('Excel.Application');
 Excel.Visible:=false;
 Excel.WorkBooks.Add;
for i:=1 to StringGrid1.RowCount+1 do
  for j:=1 to StringGrid1.ColCount+1 do
  begin
    Excel.ActiveSheet.Cells(i,j):=StringGrid1.Cells[j-1,i-1];
  end;
  Sh := Excel.ActiveSheet;
  Chart:=Excel.Charts.Add;
  Chart.ChartType:=xl3DColumn;
  Cell1:=Sh.Cells.Item[1, 1]; // Именно на Листе, а не активном в данный момент Чарте
  Cell2:=Sh.Cells.Item[StringGrid1.RowCount, StringGrid1.ColCount];
  Chart.SetSourceData(Source:=Excel.ActiveWorkbook.Sheets.Item['Лист1'].Range[Cell1, Cell2],
      PlotBy:=xlColumns);
  Chart.Location(Where:=xlLocationAsObject, Name:='Лист1');
  Chart:=Excel.ActiveChart;
  if SaveDialog2.Execute
    then
      begin
      Excel.ActiveWorkbook.SaveAs(SaveDialog2.FileName);
      ShowMessage('Отчет сохранен'+#13+SaveDialog2.FileName+'.xls');
      end
    else
      Excel.DisplayAlerts := False;
finally
 Excel.ActiveWorkbook.Close;
 Excel.Application.Quit;
 end;
0
13104 / 5885 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
22.04.2012, 02:53 7
Только код предлагаю немного по-другому сформировать.
В начале:
Delphi
1
2
3
4
5
6
try
  Excel:=CreateOleObject('Excel.Application');
except
  ShowMessage('Не удалось запустить MS Excel. Действие отменено.');
  Exit;
end;
В конце:
Delphi
1
2
3
4
5
6
7
8
9
10
11
  if SaveDialog2.Execute then begin
    Excel.DisplayAlerts := False;
    Excel.ActiveWorkbook.SaveAs(SaveDialog2.FileName);
    Excel.DisplayAlerts := True;
    //Excel.ActiveWorkbook.Close;
    Excel.Application.Quit;
    ShowMessage('Отчет сохранён в файл:'#10+SaveDialog2.FileName);
  end else begin
    Excel.Visible := True;
    ShowMessage('Отчет не сохранён. Книга открыта в MS Excel.');
  end;
0
22.04.2012, 02:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.04.2012, 02:53
Помогаю со студенческими работами здесь

Как сохранить файл excel?
Как сохранить этот файл excel? Ибо даже вообще на этот документ стоит защита на редактирование,...

Сохранить файл из DataGridView в Excel
Подскажите пожалуйста, почему файл сохраняется без шапки? как можно добавить dialogfile, чтобы...

Сохранить таблицу в Excel файл
Здравствуйте. Прошу Вас выручить меня. Есть таблица мне нужно ее сохранить в переменную (Например...

не могу сохранить Excel файл
Всех приветствую! У меня вот возникли вопросы по xls... даже парочка... Первый: Set xlApp =...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru