![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Ребята, помогите с экспортом данных в Excel Из dbgrideh
Привожу рабочий код , но проблема что мне в первой строке Excel файла нужно выводить имена столбцов, а уже во второй писать данные. Сейчас получается, что названия столбцов затирают первую строку. То есть , если убрать названия столбцов Код:
ExcelApp.WorkBooks[1].WorkSheets[1].Cells[1,1] := 'MARKA'; ExcelApp.WorkBooks[1].WorkSheets[1].Cells[1,2] := 'DEVICE'; ExcelApp.WorkBooks[1].WorkSheets[1].Cells[1,3] := 'ADDRESS'; ExcelApp.WorkBooks[1].WorkSheets[1].Cells[1,4] := 'FIO'; ExcelApp.WorkBooks[1].WorkSheets[1].Cells[1,5] := 'DATE'; Код:
procedure Timport.BitBtn1Click(Sender: TObject);
var
ExcelApp: Variant;
v_file: String;
begin
v_file:=('Импорт.xls');
SaveDialog1.FileName:=v_file;
If SaveDialog1.Execute then
begin
v_file:=SaveDialog1.FileName;
If FileExists(v_file) then
begin
If Application.MessageBox(PChar('Файл "'+v_file+
'" уже существует.'+#13+'Заменить существующий файл?'),
'Сохранение',MB_YESNO+MB_ICONWARNING)<>6 then
Exit;
end;
SaveDBGridEhToExportFile(TDBGridEhExportAsXLS,
form2.DBGridEh1,v_file,True);
ExcelApp := CreateOleObject('Excel.Application');
ExcelApp.WorkBooks.Open(v_file);
ExcelApp.WorkBooks[1].WorkSheets[1].Cells[1,1] := 'MARKA';
ExcelApp.WorkBooks[1].WorkSheets[1].Cells[1,2] := 'DEVICE';
ExcelApp.WorkBooks[1].WorkSheets[1].Cells[1,3] := 'ADDRESS';
ExcelApp.WorkBooks[1].WorkSheets[1].Cells[1,4] := 'FIO';
ExcelApp.WorkBooks[1].WorkSheets[1].Cells[1,5] := 'DATE';
ExcelApp.Columns.AutoFit;
ExcelApp.ActiveSheet.UsedRange.Columns.Borders.LineStyle:=1;
ExcelApp.ActiveSheet.UsedRange.Rows.Borders.LineStyle:=1;
ExcelApp.Workbooks.Close; //закрываем
ExcelApp.Quit ;
ExcelApp := Unassigned;
If Application.MessageBox(PChar('Файл "'+v_file+'" - сохранен'+
#13+'Открыть?'),'Вопрос',
MB_YESNO+MB_ICONQUESTION)=6 then
begin
ExcelApp := CreateOleObject('Excel.Application');
ExcelApp.WorkBooks.Open(v_file);
ExcelApp.Visible := true;
ExcelApp:=UnAssigned
end;
DBGridEh1.SetFocus;
import.Button5.Enabled:=true;
end;
end;Спасибо Последний раз редактировалось starcon, 25.10.2017 в 17:57. |
|
#2
|
||||
|
||||
|
Метод "SaveDBGridEhToExportFile" автоматически выводит имена столбцов. Зачем тогда самому их указывать? Вам нужны другие имена столбцов? Или грид-источник не содержит заголовков?
Последний раз редактировалось Guaho, 25.10.2017 в 20:10. |
|
#3
|
|||
|
|||
|
Спасибо за ответ.
Именно ,нужны другие имена столбцов |
|
#4
|
||||
|
||||
|
Ну тогда что мешает заменить их в гриде перед выводом, а после - восстановить?
|
|
#5
|
|||
|
|||
|
Цитата:
Спасибо |