1. °³¹ß/½ÇÇà Ç÷§Æû (1) OS : Windows 7 (2) °³¹ßÅø : Delphi 7 (3) »ç¿ë Database : Firebird 2.1
2. °³¹ß ÁßÀÎ ÇÁ·Î±×·¥
3. Áú¹® ³»¿ë ¿¢¼¿ÆÄÀÏÀ»DB¿¡ ³Ö°í ½ºÆ®¸µ±×¸®µå·Î ºÒ·¯¿Í¼ ¿±â ±îÁö´Â ¸¸µé¾ú ½À´Ï´Ù. ¿¢»ø ¾ç½ÄÀ» DB¿¡ ³Ö°í ºÒ·¯¿Í¼ ¿¢¼¿ ¾ç½Ä¿¡ À̹ÌÁö°¡ Æ÷ÇÔµÈ µ¥ÀÌÅ͸¦ »Ñ·ÁÁÖ´Â ·çÅÏÀ» ¸¸µé¾ú½À´Ï´Ù. ¹ÃÁ¦´Â µ¥ÀÌÅÍ´Â ¾ç½Ä¿¡ Àß µé¾î°¡´Âµ¥ À̹ÌÁö´Â ¿¢¼¿ ¾ç½Ä¿¡ µé¾î°¡Áö ¾Ê³×¿ä.
OpenDialog ·Î ¿¢¼¿ ¾ç½ÄÀ» ºÒ·¯¿Í¼ »Ñ·ÁÁÖ´Â °ÍÀº À̹ÌÁö³ª µ¥ÀÌÅÍ°¡ Àß µé¾î°©´Ï´Ù.
¾Æ·¡ÄÚµå´Â DB¿¡¼ ½ºÆ®¸µ±×¸®µå·Î ºÒ·¯µéÀÎ ¿¢¼¿ ¾ç½ÄÀ» ¼±ÅÃÇÏ¿© µ¥ÀÌÅ͸¦ ¿¢¼¿¿¡ »Ñ·ÁÁÖ´Â ÄÚµå ÀÔ´Ï´Ù. °í¼ö´Ôµé ¹«¾úÀÌ À߸ø µÈ°ÇÁö Á» ºÁÁÖ¼¼¿ä.
// Äû¸®°á°ú ¿¢¼¿·Î º¸³»±â procedure TFEM2011_F.Btn_ExcelClick(Sender: TObject); VAR EXEDir,DataDir : String; FileExt : String; aImage : String; XL,xlbook,xlsheet : VARIANT; ArrV : OleVariant; nROW,iRow : integer; I,Row,Col : Integer; begin EXEDir := ExtractFilePath(Application.ExeName); DataDir := EXEDir + 'Injang\'; ForceDirectories(DataDir); aImage:=DataDir+'EQIMG.JPG';
Screen.Cursor:= crHourGlass; try XL:= CreateOleObject('Excel.Application'); except Application.MessageBox('ExcelÀÌ ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù. ¸ÕÀú ExcelÀ» ¼³Ä¡Çϼ¼¿ä.', '¿À·ù', MB_OK or MB_ICONERROR); Screen.Cursor:= crDefault; Exit; end; {----<÷ºÎÆÄÀÏ¿¡ ÀÖ´Â ÇÁ·Î±×·¥ È£Ãâ>---} // ¿¢¼¿¾ç½Ä ÀúÀåDB ÇÁ·Î±×·¥ ºÒ·¯¿À±â ECLFILE_F := TECLFILE_F.create(self); Try ECLFILE_F.showmodal; finally ECLFILE_F.close; end; {--------------------------------------} Try XL.Visible := True; APPLICATION.BringToFront;
// FORM CAPTIONÀ» Á¦¸ñÀ¸·Î ³Ñ±â±â nROW:=1; XL.CELLS[nROW,1].FONT.NAME:='±¼¸²'; XL.CELLS[nROW,1].FONT.SIZE:=24; XL.CELLS[nROW,1].FONT.COLOR:=clBLACK; XL.CELLS[nROW,1].FONT.BOLD:=TRUE; XL.CELLS[nROW,1]:=Copy(Panel11.Caption,1,17);
// ÀåºñÄÚµå ³Ñ±â±â nROW:=2; XL.CELLS[nROW,2].FONT.NAME:='±¼¸²'; XL.CELLS[nROW,2].FONT.SIZE:=14; XL.CELLS[nROW,2].FONT.COLOR:=clBLACK; XL.CELLS[nROW,2].FONT.BOLD:=TRUE; XL.CELLS[nROW,2]:=ED_QFEQ_CODE.Text;
// ±â±â¸í ³Ñ±â±â nROW:=3; XL.CELLS[nROW,2].FONT.NAME:='±¼¸²'; XL.CELLS[nROW,2].FONT.SIZE:=14; XL.CELLS[nROW,2].FONT.COLOR:=clBLACK; XL.CELLS[nROW,2].FONT.BOLD:=TRUE; XL.CELLS[nROW,2]:=ED_QFEQ_NM.Text;
// Á¶È¸ÀÏÀÚ ³Ñ±â±â nROW:=3; XL.CELLS[nROW,6].FONT.NAME:='±¼¸²'; XL.CELLS[nROW,6].FONT.SIZE:=12; XL.CELLS[nROW,6].FONT.COLOR:=clBLACK; XL.CELLS[nROW,6].FONT.BOLD:=TRUE; XL.CELLS[nROW,6]:='Á¶È¸ÀÏÀÚ: '+FORMATDATETIME('yyyy"³â" mm"¿ù" dd"ÀÏ"',DATE);
// ¼³Ä¡Àå¼Ò ³Ñ±â±â nROW:=4; XL.CELLS[nROW,2].FONT.NAME:='±¼¸²'; XL.CELLS[nROW,2].FONT.SIZE:=14; XL.CELLS[nROW,2].FONT.COLOR:=clBLACK; XL.CELLS[nROW,2].FONT.BOLD:=TRUE; XL.CELLS[nROW,2]:=ED_QESBH_LC.Text;
// ÇÕ°èÁ¤ºñ±Ý¾× ³Ñ±â±â nROW:=4; XL.CELLS[nROW,4].FONT.NAME:='±¼¸²'; XL.CELLS[nROW,4].FONT.SIZE:=12; XL.CELLS[nROW,4].FONT.COLOR:=clBLACK; XL.CELLS[nROW,4].FONT.BOLD:=TRUE; XL.CELLS[nROW,4]:=St_AMT.CAPTION;
// 󸮰Ǽö ³Ñ±â±â nROW:=4; XL.CELLS[nROW,6].FONT.NAME:='±¼¸²'; XL.CELLS[nROW,6].FONT.SIZE:=12; XL.CELLS[nROW,6].FONT.COLOR:=clBLACK; XL.CELLS[nROW,6].FONT.BOLD:=TRUE; XL.CELLS[nROW,6]:='󸮰Ǽö: '+Lb_CrKunSu.CAPTION; {----------------<À̹ÌÁö¸¦ ¿¢¼¿¿¡ »Ñ¸®±â>----------------------------} // À̹ÌÁö ¿¢¼¿·Î ³Ñ±â±â(ÀÛ¼º) IF FileExists( aImage ) then begin // ¿©±â¼ºÎÅÍ ÀνÄÀ» ¸øÇÏ°í Áö³ª°¡´Â °÷ÀÔ´Ï´Ù. xlsheet.cells[5,1].select; xlsheet.pictures.insert(aImage).Select; xlsheet.pictures[1].ShapeRange.Left := xlsheet.Range['A5'].Left; xlsheet.pictures[1].ShapeRange.Top := xlsheet.Range['A5'].Top; xlsheet.pictures[1].ShapeRange.IncrementLeft(10); xlsheet.pictures[1].ShapeRange.IncrementTop(1); xlsheet.pictures[1].width := 312; xlsheet.pictures[1].height:= 215; end; {--------------------------------------------------------------------} // ±â±âNO ³Ñ±â±â nROW:=5; XL.CELLS[nROW,5].FONT.NAME:='±¼¸²'; XL.CELLS[nROW,5].FONT.SIZE:=12; XL.CELLS[nROW,5].FONT.COLOR:=clBLACK; XL.CELLS[nROW,5]:=ED_QFEQ_CODE.Text;
// ±â±â¸í ³Ñ±â±â nROW:=6; XL.CELLS[nROW,5].FONT.NAME:='±¼¸²'; XL.CELLS[nROW,5].FONT.SIZE:=12; XL.CELLS[nROW,5].FONT.COLOR:=clBLACK; XL.CELLS[nROW,5]:=ED_QFEQ_NM.Text;
// ÀåºñºÐ·ù ³Ñ±â±â nROW:=7; XL.CELLS[nROW,5].FONT.NAME:='±¼¸²'; XL.CELLS[nROW,5].FONT.SIZE:=14; XL.CELLS[nROW,5].FONT.COLOR:=clBLACK; XL.CELLS[nROW,5]:=ED_QFEQ_DV.Text;
// ºÎ¼¸í ³Ñ±â±â nROW:=8; XL.CELLS[nROW,5].FONT.NAME:='±¼¸²'; XL.CELLS[nROW,5].FONT.SIZE:=14; XL.CELLS[nROW,5].FONT.COLOR:=clBLACK; XL.CELLS[nROW,5]:=ST_QPART_NM.Caption;
// °ø±ÞÀå¼Ò ³Ñ±â±â nROW:=7; XL.CELLS[nROW,5].FONT.NAME:='±¼¸²'; XL.CELLS[nROW,5].FONT.SIZE:=12; XL.CELLS[nROW,5].FONT.COLOR:=clBLACK; XL.CELLS[nROW,5]:=ED_QSPL_LC.Text;
// Á¦Á¶¹øÈ£ ³Ñ±â±â nROW:=8; XL.CELLS[nROW,5].FONT.NAME:='±¼¸²'; XL.CELLS[nROW,5].FONT.SIZE:=12; XL.CELLS[nROW,5].FONT.COLOR:=clBLACK; XL.CELLS[nROW,5]:=ED_QMAK_NO.Text;
// Á¦ÀÛȸ»ç ³Ñ±â±â nROW:=9; XL.CELLS[nROW,5].FONT.NAME:='±¼¸²'; XL.CELLS[nROW,5].FONT.SIZE:=12; XL.CELLS[nROW,5].FONT.COLOR:=clBLACK; XL.CELLS[nROW,5]:=ED_QMET_COMP.Text;
// ¼³Ä¡Àå¼Ò ³Ñ±â±â nROW:=10; XL.CELLS[nROW,5].FONT.NAME:='±¼¸²'; XL.CELLS[nROW,5].FONT.SIZE:=12; XL.CELLS[nROW,5].FONT.COLOR:=clBLACK; XL.CELLS[nROW,5]:=ED_QESBH_LC.Text;
// ¼³Ä¡³âµµ ³Ñ±â±â nROW:=11; XL.CELLS[nROW,5].FONT.NAME:='±¼¸²'; XL.CELLS[nROW,5].FONT.SIZE:=12; XL.CELLS[nROW,5].FONT.COLOR:=clBLACK; XL.CELLS[nROW,5]:=ED_QESBH_YR.Text;
// Çü½Ä ³Ñ±â±â nROW:=12; XL.CELLS[nROW,5].FONT.NAME:='±¼¸²'; XL.CELLS[nROW,5].FONT.SIZE:=12; XL.CELLS[nROW,5].FONT.COLOR:=clBLACK; XL.CELLS[nROW,5]:=ED_QFEQ_FROM.Text;
// ¼ö·® ³Ñ±â±â nROW:=13; XL.CELLS[nROW,5].FONT.NAME:='±¼¸²'; XL.CELLS[nROW,5].FONT.SIZE:=12; XL.CELLS[nROW,5].FONT.COLOR:=clBLACK; XL.CELLS[nROW,5]:=ED_QFEQ_QTY.Text;
// ÀåºñÁ¦¿ø ³Ñ±â±â nROW:=6; XL.CELLS[nROW,7].FONT.NAME:='±¼¸²'; XL.CELLS[nROW,7].FONT.SIZE:=9; XL.CELLS[nROW,7].FONT.COLOR:=clBLACK; XL.CELLS[nROW,7]:=MO_QFEQ_STD.Lines.Text; XL.Cells[6, 7].Value := StringReplace(MO_QFEQ_STD.Lines.Text, #13, '', [rfReplaceAll]);
ArrV:= VarArrayCreate([0, StringGrid1.RowCount, 0, StringGrid1.ColCount], varOlestr); I:= 0; // °Ë»ö ·çÇÁ for Row:=0 to StringGrid1.RowCount -1 do begin //INC(nROW); // ¼¿º´ÇÕ XL.Range['E' + IntToStr(16 + Row) + ':G' + IntToStr(16+Row)].mergecells := True; // ÇÊµå ³Ñ±â±â for Col:= 0 to StringGrid1.ColCount -1 do begin ArrV[Row,Col]:=StringGrid1.cells[Col,Row]; if (Row <> 0) then // ¹®ÀÚ¸¦ ¼ýÀÚÆ÷¸äÀ¸·Î ÀüȯÇÏ¿© ÀڷḦ ¿¢¼¿·Î ³Ñ±ä´Ù. XL.CELLS[Row +16, Col + 1].Value := StringGrid1.Cells[Col, Row]; end; Inc(I); end;
// 1¼¿¾¿ »Ñ¸®±â nRow := 17; for iRow :=1 to StringGrid1.RowCount do begin XL.CELLS[nROW,8] :=StringGrid1.Cells[5,iRow]; //ºñ°í inc(nROW); end;
// Å׵θ® XL.Range['A' + IntToStr(16) + ':H' + IntToStr(15+StringGrid1.RowCount)].Borders.Color := clBlack; // Çʵ带 °¡¿îµ¥ Á¤·Ä XL.Workbooks[1].WorkSheets[1].Range['A16:H116'].HorizontalAlignment :=xlHAlignCenter;
XL.Visible := True; //¿¢¼¿ Ãâ·Â
// ÇʵåÁÙ ±½Àº Å׵θ® ¼³Á¤ XL.Range['A16:H16'].Select; XL.Range[XL.Selection, XL.Selection.End[xlDown]].Select;
XL.Selection.Borders[xlEdgeLeft].Weight := xlMedium; XL.Selection.Borders[xlEdgeTop].Weight := xlMedium; XL.Selection.Borders[xlEdgeBottom].Weight := xlMedium; XL.Selection.Borders[xlEdgeRight].Weight := xlMedium;
// Á¦¸ñÁÙ ±½Àº Å׵θ® ¼³Á¤ XL.Range['A16:H16'].Select; XL.Selection.Borders[xlEdgeLeft].Weight := xlMedium; XL.Selection.Borders[xlEdgeTop].Weight := xlMedium; XL.Selection.Borders[xlEdgeBottom].Weight := xlMedium; XL.Selection.Borders[xlEdgeRight].Weight := xlMedium;
// ¿¢¼¿ ¹®ÀÚ¸¦ ¼¿¿¡ ¸ÂÃá´Ù. XL.Range['A17:H17'].Select; XL.Range[XL.Selection, XL.Selection.End[xlDown]].Select; XL.Selection.HorizontalAlignment := xlGeneral; XL.Selection.VerticalAlignment := xlCenter; XL.Selection.ShrinkToFit := True; XL.Selection.ReadingOrder := xlContext;
// ÆùÆ® ÁöÁ¤ XL.Range['A17:H17'].Select; XL.Range[XL.Selection, XL.Selection.End[xlDown]].Select; XL.Selection.Font.Name := '±¼¸²Ã¼'; XL.Selection.Font.Size := 10; XL.Range['A1'].Select; finally Screen.Cursor:= crDefault; End; Btn_Excel.Enabled := False; end;
|