|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
delphi 7 и Excel экспорт в Эксель
Всем форумчанам привет, люди добрые помогите мне разобраться в коде
Код:
procedure TForm9.btn4Click(Sender: TObject); var ExcelApp, sheet, XLA, exRng: variant; index, i: integer; const xlContinuous = 1; xlThin = 2; begin j := FloatToStr(dbsmlst1.SumCollection.Items[0].SumValue); k := StrToInt(j); l := FloatToStr(dbsmlst1.SumCollection.Items[1].SumValue); n := StrToInt(l); b := FloatToStr(dbsmlst1.SumCollection.Items[2].SumValue); c := StrToInt(b); XLA := CreateOleObject('Excel.Application'); XLA.workbooks.open(ExtractFilePath(ParamStr(0)) + 'test1.xls'); XLA.Visible := true; XLA.WorkBooks[1].WorkSheets[1].Name := 'Сводный отчет'; ExcelApp := XLA.workbooks[1].worksheets['Сводный отчет'].columns; ExcelApp.columns[1].ColumnWidth := 5; ExcelApp.columns[2].ColumnWidth := 35.71; ExcelApp.columns[3].ColumnWidth := 10; ExcelApp.columns[4].ColumnWidth := 8.14; ExcelApp.columns[5].ColumnWidth := 16.86; ExcelApp.columns[6].ColumnWidth := 5; ExcelApp.columns[7].ColumnWidth := 51.14; ExcelApp.columns[8].ColumnWidth := 6.29; ExcelApp.columns[9].ColumnWidth := 6.71; ExcelApp.columns[10].ColumnWidth := 11.71; ExcelApp.columns[11].ColumnWidth := 10.86; ExcelApp.columns[12].ColumnWidth := 10; ExcelApp.columns[13].ColumnWidth := 7.86; ExcelApp := XLA.workbooks[1].worksheets['Сводный отчет'].Rows; ExcelApp.Rows[9].font.bold := true; ExcelApp.Rows[9].font.size := 10; ExcelApp.Rows[9].font.color := clBlue; ExcelApp.Rows[9].wraptext := true; sheet := XLA.workbooks[1].worksheets['Сводный отчет']; Sheet.cells[9, 1] := '№ п\п'; Sheet.cells[9, 2] := 'ФИО застрахованного'; Sheet.cells[9, 3] := 'Дата рождения'; Sheet.cells[9, 4] := 'Подразделение'; Sheet.cells[9, 5] := 'Полис №'; Sheet.cells[9, 6] := 'Код усл.'; Sheet.cells[9, 7] := 'Наименование усл.'; Sheet.cells[9, 8] := 'Кол-во'; Sheet.cells[9, 9] := 'Цена'; Sheet.cells[9, 10] := 'Дата оказания'; Sheet.cells[9, 11] :='Код исполнителя'; Sheet.cells[9, 12] :='Шифр забол-я'; Sheet.cells[9, 13] :='Итого'; index := 10; with ds1.DataSet do begin First; for i := 0 to RecordCount -1 do begin sheet.cells[4, 1] := 'добровольного медицинского страхования за период c ' + Fields.Fields[31].AsString + ' по ' + Fields.Fields[32].AsString; sheet.cells[index, 1] :=i+1; sheet.cells[index, 2] := Fields.Fields[3].AsString + ' ' + Fields.Fields[4].AsString + ' ' + Fields.Fields[5].AsString;; sheet.cells[index, 3] := Fields.Fields[7].AsString; sheet.cells[index, 4] := Fields.Fields[14].AsString; sheet.cells[index, 5] := Fields.Fields[11].AsString; sheet.cells[index, 6] := Fields.Fields[25].AsString; sheet.cells[index, 7] := Fields.Fields[36].AsString; sheet.cells[index, 8] := Fields.Fields[26].AsString; sheet.cells[index, 9] := Fields.Fields[27].AsString; sheet.cells[index, 10] := Fields.Fields[28].AsString; sheet.cells[index, 11] := Fields.Fields[41].AsString; sheet.cells[index, 12] := Fields.Fields[47].AsString; sheet.cells[index, 13] := Fields.Fields[33].AsString; sheet.cells[index, 14] := index; Inc(index); Next; end end; exRng := Sheet.Range[Sheet.Cells[9, 1], Sheet.Cells[index, 13]]; exRng.Borders.LineStyle := xlContinuous; exRng.Borders.Weight := xlThin; exRng.Rows.AutoFit; XLA.WorkBooks[1].Sheets[1].Cells[10 + k, 13].value := n; XLA.WorkBooks[1].Sheets[1].Cells[10 + k, 8].value := c; // XLA.Visible := true; end; сам код рабочий только мне нужно еще при экспорте в excel сделать проверку повторяющейся информации в ячейках и обьеденить ячейки, которые повторяются, а так же сделать суммирование поля "итого" повторяющихся ячеек и вывести в конце этих ячеек. Сколько пытаюсь сделать не получается. Заранее благодарен всем кто откликнется...)) |