我有个一个Excel模板
基本样式如: 车号 人数 班次 (已隐藏的列包含公式) 客运金额 货运金额 。。
01235 需要填写 需要填写 需要填写 需要填写 。。
06099
45628
74163
86319
78522
。
。
。
。
。
汇总 需要填写 需要填写 需要填写 需要填写 需要填写 需要填写 这里并不是要把数据导入成Excel文件,而是我根据Excel中的车号到我的数据库中去查找某辆车,然后一一填进Excel去,而且有很多线路,各个线路的公式又是不一样的
基本样式如: 车号 人数 班次 (已隐藏的列包含公式) 客运金额 货运金额 。。
01235 需要填写 需要填写 需要填写 需要填写 。。
06099
45628
74163
86319
78522
。
。
。
。
。
汇总 需要填写 需要填写 需要填写 需要填写 需要填写 需要填写 这里并不是要把数据导入成Excel文件,而是我根据Excel中的车号到我的数据库中去查找某辆车,然后一一填进Excel去,而且有很多线路,各个线路的公式又是不一样的
记住数据所在行与烈
然后改写数据即可
具体方法搜下以前帖子,很多
AStrID : String;
ARow,ACol,i,j,AMaxCol : Integer;
ATXT : String;
begin
AMaxCol := StringGrid.ColCount;
FExcelApp := Unassigned;
FExcelApp := CreateOleObject('Excel.Application');
FWorkBook := CreateOleObject('Excel.Sheet');
try
FWorkbook := FExcelApp.WorkBooks.Add;
FWSheet := FWorkBook.ActiveSheet;
// FExcelApp.ActiveWindow.DisplayGridlines := False;
ARow := 1;
ACol := 1;
PlShowMsg.Visible := True;
// FMaxRow := GetMaxRow(FWorkBook.Worksheets[1].UsedRange.Rows.Count);
for ARow := 0 to StringGrid.RowCount-1 do
begin
PlShowMsg.Caption := '导入条件...'+IntToStr(ARow+1);
Application.ProcessMessages;
for ACol := 1 to StringGrid.ColCount-1 do
begin
FWSheet.cells[ARow+1,ACol].value := StringGrid.Cells[ACol,ARow];
end;
end;
PlShowMsg.Visible := False;
// ATXT := 'A:N';
// FWSheet.Range[ATXT].Select;
// FWSheet.Range[ATXT].Colu.AutoFit;
// FWSheet.Select;
// FWSheet.EntireColumn.AutoFit;
FWorkBook.WorkSheets[1].SaveAs(SaveFilaName);
FWorkBook.Save;
finally
FworkBook.Saved := True;
FExcelApp.WorkBooks.Close;
FExcelApp.Quit;
FExcelApp := Unassigned;
end;