如何將資料填入用excel設定好的表格裡 |
|
32u27
一般會員 發表:8 回覆:0 積分:1 註冊:2002-07-12 發送簡訊給我 |
|
andersonhsieh
版主 發表:33 回覆:531 積分:439 註冊:2002-06-10 發送簡訊給我 |
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言: 如何將資料填入用excel設定好的表格裡我剛好有做到這樣的套表案子, 給你參考, 不過這是程式片斷, 主要套表的方式讓你參考, 並沒有用到 delphi 的 server vcl uses comobj; // 開啟一份已存在並設計好的 excel表, 匯入資料 procedure excelexport; var msexcel, Worksheet, sheetrange: oleVariant; begin ..... // 轉入資料 if rbtnS1.Checked then begin StatusBar1.SimpleText:= '套表資料匯出中 ....'; msexcel:= CreateOleObject('Excel.Application'); sFile:= D_QA2Excel.mprogPath 'EXCEL\DA800.xls'; dFile:= D_QA2Excel.mprogPath 'EXCEL\S' SYSUT.GetCDay(Date,cdateDigit,'DAY') '.xls'; copyFile(pChar(sFile),pChar(dFile),False); msexcel.Workbooks.Open(dFile); msexcel.Workbooks[1].Worksheets[1].Name:= 'Sheet1'; Worksheet:= msexcel.Workbooks[1].Worksheets['Sheet1']; sheetrange:= msexcel.Workbooks[1].Worksheets['Sheet1'].Range['A1:J25']; sheetrange.Select; sheetrange.copy; // msexcel.Workbooks[1].Worksheets['Sheet1'].UsedRange.Copy; i:= 0; r:= 0; c:= 0; count:= 0; Table_DA800xls.First; while not Table_DA800xls.Eof do begin // 計算每一張的抬頭 if (count=0) and (r>0) then begin r:= 25 * (r div 24); ranges:= 'A' trim(format('d',[r 1])) ':' 'J' trim(format('d',[(r)*2])); // msexcel.Workbooks[1].Worksheets['Sheet1'].Range[ranges].Select; msexcel.Workbooks[1].Worksheets['Sheet1'].Cells[r 1,1].Select; msexcel.Workbooks[1].Worksheets['Sheet1'].Paste; end; if count=0 then begin if cbxCOMPANY.Checked then Worksheet.Cells[1 r,1]:= Table_DA800xlsCOMPANY.Value; if cbxSOLDDATE.Checked then begin Worksheet.Cells[1 r,3]:= aEdit[2] ':'; Worksheet.Cells[1 r,5]:= Table_DA800xlsSOLDDATE.Value; end; if cbxSERIALNO.Checked then begin Worksheet.Cells[1 r,7]:= aEdit[3] ':'; Worksheet.Cells[1 r,9]:= Table_DA800xlsSERIALNO.Value; end; end; if cbxNUM.Checked then begin Worksheet.Cells[2 r,1 c]:= Table_DA800xlsNUM.Value; end; if cbxCITY.Checked then begin Worksheet.Cells[2 r,2 c]:= Table_DA800xlsCITY.Value; end; if cbxSHORTNAME.Checked then begin Worksheet.Cells[2 r,3 c]:= Table_DA800xlsSHORTNAME.Value; end; if cbxITEMNO.Checked then begin Worksheet.Cells[2 r,5 c]:= Table_DA800xlsITEMNO.Value; end; if cbxPLASTIC.Checked then begin Worksheet.Cells[3 r,1 c]:= aEdit; > |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |