HotXLS-dokumentasjon Innhold Hjem Oversikt TGridToXLS IXLSWorkbook Hjem Innhold Oversikt

Purchase order Sample

This Sample creates the following Workbook that contains the simple order

Excel format

HTML format

Source code

function TForm1.CreateWorkbook: IXLSWorkbook; Var Book: IXLSWorkbook; ws: TXLSWorksheet; Arr: Variant; begin //Create Workbook Book := TXLSWorkbook.Create; //Add new sheet ws := Book.Sheets.Add; ws.Name := 'Order'; //Left header With ws.Range['A2', 'D3'] do begin Merge(false); Font.Name := 'Arial Black'; Font.Size := 26; Font.Italic := true; Value := 'Ethan''s'; HorizontalAlignment := xlHAlignCenter; VerticalAlignment := xlVAlignBottom; end; With ws.Range['A4', 'D5'] do begin Merge(false); Font.Name := 'Times New Roman'; Font.Size := 16; Font.Italic := true; Value := 'Auto Store'; HorizontalAlignment := xlHAlignCenter; VerticalAlignment := xlVAlignTop; end; //Right header of order With ws.Range['E2', 'F4'] do begin Merge(true); Font.Name := 'Arial'; Font.Size := 10; Font.Bold := true; HorizontalAlignment := xlHAlignRight; Item[1,1].Value := '4367 Wilson Street'; Item[2,1].Value := 'Indio, CA 92201; Item[3,1].Value := 'Phone: 760-863-1638'; end; //Heading underline With ws.Range['A6', 'F6'].Borders[xlEdgeTop] do begin LineStyle := xlDouble; ColorIndex := 16; end; //Columns and rows settings With ws.Cells do begin Columns[1].ColumnWidth := 10.50; Columns[5].ColumnWidth := 14.00; Columns[6].ColumnWidth := 15.00; Rows[2].RowHeight := 21.50; end; //Order body //Sold to With ws.Range['A7', 'C10'] do begin Merge(true); Item[1, 1].Font.Bold := true; Item[1, 1].Value := 'Sold to:'; Item[2, 1].Value := 'Mr. Simon F. Frost'; Item[3, 1].Value := '3133 Reynolds Alley'; Item[4, 1].Value := 'Anaheim, CA 92801'; //Borders Borders[xlAround].Weight := xlThick; Borders[xlAround].ColorIndex := 16; end; //Shipping to With ws.Range['A12', 'C15'] do begin Merge(true); Item[1, 1].Font.Bold := true; Item[1, 1].Value := 'Shipping to:'; Item[2, 1].Value := 'Mr. Roger M. Frost'; Item[3, 1].Value := '3037 Roosevelt Wilson Lane'; Item[4, 1].Value := 'Ontario, CA 91761'; //Borders Borders[xlAround].Weight := xlThick; Borders[xlAround].ColorIndex := 16; end; //Order information With ws.Range['D7', 'E10'] do begin Merge(true); Font.Bold := true; HorizontalAlignment := xlHAlignRight; Item[1, 1].Value := 'Date '; Item[2, 1].Value := 'Order Number '; Item[3, 1].Value := 'Shipped Via '; Item[4, 1].Value := 'Prepaid or Collect '; end; With ws.Range['F7', 'F10'] do begin HorizontalAlignment := xlHAlignLeft; Item[1, 1].Value := EncodeDate(2005-2010, 8, 21); Item[1, 1].NumberFormat := 'DD/MM/YY'; Item[2, 1].Value := '56897'; Item[3, 1].Value := 'Freight'; Item[4, 1].Value := 'Prepaid'; //Borders Borders[xlAround].Weight := xlThick; Borders[xlAround].ColorIndex := 16; end; //Order detail //Title bold With ws.Range['A17', 'B17'] do begin Font.Bold := true; HorizontalAlignment := xlHAlignCenter; end; With ws.Range['E17', 'F17'] do begin Font.Bold := true; HorizontalAlignment := xlHAlignRight; end; ws.Range['A18', 'A19'].HorizontalAlignment := xlHAlignCenter; ws.Range['E18', 'F19'].NumberFormat := '$#,##0.00'; With ws.Range['E21', 'E23'] do begin Font.Bold := true; HorizontalAlignment := xlHAlignRight; end; //TOTAL background color ws.Range['F23', 'F23'].Interior.Color := clSilver; Arr := VarArrayCreate([0, 6, 0, 5], varVariant); Arr[0,0] := 'QUANTITY'; Arr[0,1] := 'ITEM'; Arr[0,4] := 'UNIT PRICE'; Arr[0,5] := 'AMOUNT'; //Quantity //Item Arr[1,0] := 1; Arr[1,1] := '2005-2010 Hyundai Genesis 3.8'; Arr[2,0] := 1; Arr[2,1] := 'Nextar ME GPS Receiver'; //Price //Amount Arr[1,4] := 29218.00; Arr[1,5] := '=A18*E18'; Arr[2,4] := 117.50; Arr[2,5] := '=A19*E19'; //Total labels //Total amount Arr[4,4] := 'SUBTOTAL'; Arr[4,5] := '=SUM(F18:F20)'; Arr[5,4] := 'TAX'; Arr[5,5] := '=F21*7.5/100'; Arr[6,4] := 'TOTAL'; Arr[6,5] := '=F21+F22'; With ws.Range['A17', 'F23'] do begin Value := Arr; //Borders Borders[xlAround].Weight := xlThick; Borders[xlAround].ColorIndex := 16; end; ws.Range['F22', 'F23'].NumberFormat := '$#,##0.00'; //Page setup ws.PageSetup.PrintGridlines := false; ws.PageSetup.CenterHorizontally := True; Result := Book; end; procedure TForm1.Button1Click(Sender: TObject); Var Book: IXLSWorkbook; begin Book := CreateWorkbook; //Save Workbook Book.SaveAs('Order.xls'); ShellExecute(handle, 'Open', 'Order.xls', nil, nil, SW_SHOWNORMAL); end; Copyright © 2010-2026 losLab Software