|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Код:
const EXCEL_FILE_EXT = '.xls'; function TForm7.GetExcelFileName: String; begin Result := ExtractFilePath(Application.ExeName) + Edit1.Text; if LowerCase(ExtractFileExt(Result)) <> EXCEL_FILE_EXT then Result := Result + EXCEL_FILE_EXT; end; procedure TForm7.Button1Click(Sender: TObject); var ExcelApp, Sheet: variant; Col, Row: Word; 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(GetExcelFileName); ShowMessage('Запись завершена!'); finally ExcelApp.Application.Quit; ExcelApp := unassigned; end; end; Вот кусок кода который создает файл Экселя(имя файла вводится в Эдит) Как сделать так чтобы при следующем расчете программы(в предыдущих модулях) новые расчеты попадали уже в созданный файл(добавление в файл новых результатов расчета) а старые данные не исчезали(не перезаписывались) т.е сделать накопление данных в файле??? Помогите пожалуйста! Проверять, существует ли файл, в зависимости от этого открывать его, или создавать новый. Если открывать, то в цикле пробегаться по таблице, искать первую пустую строку, и начиная с неё, в цикле вставлять данные. Последний раз редактировалось M.A.D.M.A.N., 26.10.2013 в 22:04. |