Delphi编程保存数据到Excel文件(3):使用XLSReadWriteII控件
今天采用XLSReadWriteII控件来完成10×10的乘法表,发现它很灵活,实现的功能比较多,基本能满足所以的需求。
代码片断如下:
procedure TForm1.Button1Click(Sender: TObject); Var i,j:Integer; begin XLS.Sheets[0].Name:= 'Ten times table(乘法表)'; //给工作表命名
//General settings 常规的格式设置 With XLS.Sheet[0].Range.ItemsRef['B2:M14'] do begin FontSize := 12; FontStyle:= [xfsBold];
FillPatternForeColor := TExcelColor(45); HorizAlignment:=chaCenter; end;
//Title 标题 With XLS.Sheet[0].Range.ItemsRef['B2:M2'] do begin Merged:=true; HorizAlignment:=chaCenter; FontSize := 14; end; XLS.Sheet[0].AsStringRef['B2'] := 'Ten Times Table(乘法表)';
//columns header 列头 With XLS.Sheet[0].Range.ItemsRef['C3:M3'] do begin FillPatternForeColor := TExcelColor(53); //Interior.ColorIndex := 53; FontColor := xcWhite; end;
//rows header 行头 With XLS.Sheet[0].Range.ItemsRef['B4:B14'] do begin FillPatternForeColor := TExcelColor(53); FontColor := xcWhite; end;
//Table values 表内值 for j := 0 to 10 do begin //循环各列 //column header 列头 (先列后行 基于0开始) XLS.Sheets[0].AsInteger[2+j, 2] := j; //row header 行头 (先列后行 基于0开始) XLS.Sheets[0].AsInteger[1,3+j]:= j; //time table 表内值 for i := 0 to 10 do begin //循环各行 XLS.Sheets[0].AsInteger[2+j,3+i]:= i * j; end; end;
XLS.Filename := 'TenTimesTable.xls'; //保存到文件 XLS.Write; MessageDlg('TenTimesTable.xls is created', mtInformation, [mbOk], 0);
end;