导出excel设置行标题
我的dbgrid里有
字段A
1
2
3
。。
2000
求导出到EXCEL后每100行生成一个箱条码,就是对EXCEL生成的处理
比如
1
2
3
。。
100
AAAAAAAAA
101
。。。。
200
BBBBBBBBB
求高手帮忙啊
[解决办法]
procedure TfmMain.Button1Click(Sender: TObject);
var
FExcel: Variant;
FWorkbook: Variant;
FWorksheet: Variant;
i, j, fnum: Integer;
begin
Screen.Cursor := crHourGlass;
try
FExcel := CreateOleObject('excel.application');
except
Screen.cursor := crDefault;
MessageDlg('Could not start Microsoft Excel!', mtError, [mbCancel], 0);
Exit;
end;
try
FWorkBook := FExcel.WorkBooks.Add;
//FWorkSheet := FWorkBook.WorkSheets.Add;
FWorkSheet := FWorkBook.WorkSheets[1];
with DBGrid1.DataSource.DataSet do
begin
First;
i := 0;//字段A所在的列,这里假设是第一列
j := 0;
fnum := 0;
while not Eof do
begin
inc(j);
Inc(fnum);
{for i := 0 to DBGrid1.Columns.Count - 1 do
begin
if DBGrid1.Columns[i].Visible then
FWorkSheet.Cells[1, 1] := DBGrid1.Columns[i].Field.DisplayText;
end;}
FWorkSheet.Cells[j, i + 1] := DBGrid1.Columns[i].Field.DisplayText;
if fnum = 100 then//每100行进这个判断
begin
Inc(j);//下一行用来显示条码
FWorkSheet.Cells[j, i + 1] := 'AAAAAAAAA';
fnum := 0;
end;
Next;
end;
end;
finally
FExcel.Visible := True;
Screen.Cursor := crDefault;
end;
end;