引用
uses
..., ComObj, ...
// 导出列表
procedure TForm_luru.Button1Click(Sender: TObject);
Var
sXm1, sDw1, sZhengshuId1: string;
XLApp: OLEVariant;
WorkBook: Variant;
Sheet1: Variant;
fName: variant;
dataRange: variant;
iRow, j: integer;
s: WideString;
//fName: string;
begin
XLApp := CreateOleObject('Excel.Application'); // requires comobj in uses
try
XLApp.Visible := true; // Hide Excel
XLApp.ScreenUpdating := true;
XLApp.DisplayAlerts := true;
fName := ExtractFilePath(ParamStr(0)) + 'muban_out\list.xlt';
WorkBook := XLApp.Workbooks.Open(fName); // Open the Workbook
Sheet1 := XLApp.workBooks[1].WorkSheets[1];
PBar1.Max := ZROQuery_p_list.RecordCount;
PBar1.Min := 0;
PBar1.Position:=0;
iRow := 1;
ZROQuery_p_list.First;
while not ZROQuery_p_list.EOF do
begin
PBar1.Position := iRow;
// 序号
s := UTF8Decode(intTostr(iRow));
Sheet1.Cells[iRow + 7, 1].Value := s;
// 工作单位
s := UTF8Decode(trim(ZROQuery_p_list.FieldByName('GZDW').AsString));
Sheet1.Cells[iRow + 7, 2].Value := s;
// 姓名
s := UTF8Decode(trim(ZROQuery_p_list.FieldByName('xm').AsString));
Sheet1.Cells[iRow + 7, 3].Value := s;
// 性别
s := UTF8Decode(trim(ZROQuery_p_list.FieldByName('XB').AsString));
Sheet1.Cells[iRow + 7, 4].Value := s;
// 出生年月
s := UTF8Decode(trim(ZROQuery_p_list.FieldByName('CSNY').AsString));
Sheet1.Cells[iRow + 7, 5].Value := s;
// 现从事专业
s := UTF8Decode(trim(ZROQuery_p_list.FieldByName('CSZY').AsString));
Sheet1.Cells[iRow + 7, 6].Value := s;
// 原专业技术职务
s := UTF8Decode(trim(ZROQuery_p_list.FieldByName('YZYJSZW').AsString));
Sheet1.Cells[iRow + 7, 7].Value := s;
// 现专业技术职务资格
s := UTF8Decode(trim(ZROQuery_p_list.FieldByName('XZYJSZW').AsString));
Sheet1.Cells[iRow + 7, 8].Value := s;
// 资格证书编号
s := UTF8Decode(trim(ZROQuery_p_list.FieldByName('ZGZSBH').AsString));
Sheet1.Cells[iRow + 7, 9].Value := s;
// 评审时间
s := UTF8Decode(trim(ZROQuery_p_list.FieldByName('PSTGSJ').AsString));
Sheet1.Cells[iRow + 7, 10].Value := s;
// 公布时间
//s := UTF8Decode(trim(ZROQuery_p_list.FieldByName('xm').AsString));
s := '';
Sheet1.Cells[iRow + 7, 11].Value := s;
// 公布文号
s := UTF8Decode(trim(ZROQuery_p_list.FieldByName('GBWH').AsString));
Sheet1.Cells[iRow + 7, 12].Value := s;
//Sheet1.Rows[iRow + 7].RowHeight := 30;
iRow := iRow + 1;
//if iRow > 50 then break;
ZROQuery_p_list.Next;
end;
//dataRange := Sheet1.Range['A' + intToStr(8) + ':L' + intToStr(iRow + 7)];
s := 'A8:L' + intToStr(iRow + 6);
dataRange := Sheet1.Range[s];
// 内部水平线型
dataRange.Borders[11].Linestyle := 6; // xlContinuous
// 内部水平线宽
dataRange.Borders[11].Weight := 2; // 'xlHairline';
// 内部垂直线型
dataRange.Borders[12].Linestyle := 6; // xlContinuous
// 内部垂直线宽
dataRange.Borders[12].Weight := 2; //'xlHairline';
dataRange.Borders[9].Linestyle := 6; // 最下水平线型
dataRange.Borders[9].Weight := 2; // 最下水平线宽
dataRange.Borders[1].Linestyle := 6; // 左边线型
dataRange.Borders[1].Weight := 2; // 左边线宽
dataRange.Borders[2].Linestyle := 6; // 右边线型
dataRange.Borders[2].Weight := 2; // 右边线宽
//Sheet1.Rows('8:' + intToStr(iRow + 6)).RowHeight := 25;
// 行高
s := intToStr(iRow + 6);
Sheet1.Rows('8:' + s).RowHeight := 25;
// 查询条件 -----------------------------
sXm1 := trim(EditXingming.Text);
sDw1 := trim(EditDanwei.Text);
sZhengshuId1 := trim(EditZhengshuhao.Text);
// 姓名
if sXm1 <> '' then
s := UTF8Decode('姓名:' + sXm1);
// 工作单位
if sDw1 <> '' then
s := s + UTF8Decode('工作单位:' + sDw1);
// 资格证书编号
if sZhengshuId1 <> '' then
s := s + UTF8Decode('证书编号:' + sZhengshuId1);
Sheet1.Cells[3, 1].Value := s;
// 查询条件 ===================================
// 本表生成时间:
s := UTF8Decode(dateTimeToStr(now));
Sheet1.Cells[5, 11].Value := s;
except
on E: Exception do
begin
//XLApp.Visible := true;
log('Error: ' + E.Message);
showmessage(ansiToUtf8('Error: ' + E.Message));
end;
//XLApp.Quit;
//XLAPP := Unassigned;
end;
//XLApp.Visible := true;
PBar1.Position:=0;