189 8069 5689

delphi导出excel-创新互联

Var
 FExcel:OleVariant; //excel应用程序
 FWorkBook :OleVariant; //工作表
 Temsheet:OleVariant; //工作薄
 FPicture:OleVariant;//图片
 tmpstr:String;
 range:variant;//范围
 i,j,TemInt:integer;
 TemFileName:String;
 real_american_price:Double;
begin
 if (kind = '小米清单') or (kind = '小商品清单') then
 Begin
   if cxxiaomilist.DataController.RecordCount = 0 then
   begin
     Application.MessageBox(PChar('没有导出数据!'),'提示',MB_OK + MB_ICONWARNING);
     abort;
   end;

   SaveDialog1.Filter:='.xlsx';
   if SaveDialog1.Execute then
   begin
     TemFileName:=SaveDialog1.FileName+'.xlsx';

     Screen.Cursor:=CrHourGlass;
     TemInt:=0;
     try
       FExcel:= CreateoleObject('excel.Application');
       FWorkBook:=FExcel.WorkBooks.Add(-4167); //新的工作表
       Temsheet:=FWorkBook.Worksheets.Add;
       Temsheet.Name:=kind;
     except
       Application.MessageBox('无法创建Excel文件, 请确认是否安装了Excel软件',
         PChar(Application.Title), MB_OK + MB_ICONWarning);
       Exit;
     end;

     Temsheet.Select;
     Temsheet.Range['A1','A1'].RowHeight := 60;

     for i := 1 to 111 do
     begin
       Temsheet.Columns[i].ColumnWidth:=15;
       Temsheet.cells[1,i] := '';
       if i = 1 then
         Temsheet.cells[1,i] := cxxiaomilist.Bands[111].Caption;
       if i = 22 then
         Temsheet.cells[1,i] := cxxiaomilist.Bands[112].Caption;
       Temsheet.cells[2,i] := cxxiaomilist.Bands[i-1].Caption;
       ////////////////////////////////////////////////////////////
       if i < 22 then
          Temsheet.cells[3,i] := cxxiaomilist.Columns[i-1].Caption;
     end;
     Temsheet.Columns[1].NumberFormat:='#####################';

     range:=Temsheet.Range[Temsheet.cells[3,22],Temsheet.cells[3,23]];//选定表格
     range.select;
     range.merge;
     range:=Temsheet.Range[Temsheet.cells[3,22],Temsheet.cells[3,24]];//选定表格
     range.select;
     range.merge;
     Temsheet.Cells[3,22].HorizontalAlignment:=-4108; //字居中
     Temsheet.Cells[3,22] := cxxiaomilist.Bands[112 + 1].Caption;

     range:=Temsheet.Range[Temsheet.cells[3,25],Temsheet.cells[3,26]];//选定表格
     range.select;
     range.merge;
     range:=Temsheet.Range[Temsheet.cells[3,25],Temsheet.cells[3,27]];//选定表格
     range.select;
     range.merge;
     Temsheet.Cells[3,25].HorizontalAlignment:=-4108; //字居中
     Temsheet.Cells[3,25] := cxxiaomilist.Bands[112 + 2].Caption;

     range:=Temsheet.Range[Temsheet.cells[3,109],Temsheet.cells[3,110]];//选定表格
     range.select;
     range.merge;
     range:=Temsheet.Range[Temsheet.cells[3,109],Temsheet.cells[3,111]];//选定表格
     range.select;
     range.merge;
     Temsheet.Cells[3,109].HorizontalAlignment:=-4108; //字居中
     Temsheet.Cells[3,109] := cxxiaomilist.Bands[112 + 30].Caption;

     for I := 0 to cxxiaomilist.DataController.RecordCount - 1 do
     begin
       for j := 1 to cxxiaomilist.ColumnCount do
       begin
         Temsheet.cells[4 + i,j] := VarToStr(cxxiaomilist.DataController.GetValue(i,j-1));
//         if j = 10 then
//         if TryStrToFloat(VarToStr(cxxiaomilist.DataController.GetValue(i,j)),real_american_price) then
//         if real_american_price > 150 then
//         begin
//           Temsheet.Cells[4 + i,j].Interior.Color := clRed;
//           Temsheet.Cells[4 + i,j + 4].Interior.Color := $0075C76B;
//         end;
       end;
     end;

 //   for i:=0 to DBGrid2.Columns.Count - 1 do
 //   begin
 //     Temsheet.Cells[TemInt,i+2]:=DBGrid2.Columns[i].Title.Caption;
 //     Temsheet.Cells[TemInt,i+2].HorizontalAlignment:=-4108; //字居中
 //     Temsheet.Cells[TemInt,i+2].Interior.Color:=clGray;    //单元格背景色
 //     range:=Temsheet.Range[Temsheet.cells[TemInt,i+2],Temsheet.cells[TemInt,i+2]];//选定表格
 //     range.borders.linestyle:=1;//华线
 //   end;
 //
 //   TemInt:=TemInt+1;
 //   //////////////////////////////////////////////
 //   j:=0;
 //   DBGrid2.DataSource.DataSet.First;
 //   while not DBGrid2.DataSource.DataSet.Eof do
 //   begin
 //     Temsheet.Cells[TemInt+j,1].Value:=j+1;
 //     Temsheet.Cells[TemInt+j,1].HorizontalAlignment:=-4108; //字居中
 //     range:=Temsheet.Range[Temsheet.cells[TemInt+j,1],Temsheet.cells[TemInt+j,1]];//选定表格
 //     range.borders.linestyle:=1;//华线
 //
 //     for i:=0 to DBGrid2.Columns.Count - 1 do
 //     begin
 //       Temsheet.Cells[TemInt+j,i+2].Value:=DBGrid2.Fields[i].AsString;
 //       range:=Temsheet.Range[Temsheet.cells[TemInt+j,i+2],Temsheet.cells[TemInt+j,i+2]];//选定表格
 //       range.borders.linestyle:=1;//华线
 //     end;
 //     DBGrid2.DataSource.DataSet.Next;
 //     j:=j+1;
 //   end;

     Application.ProcessMessages;

     Screen.Cursor:=CrDefault;
     FExcel.WorkBooks[1].saveas(TemFileName);//保存文件
     FExcel.workbooks[1].close; //关闭工作表
     Application.ProcessMessages;
     MessageBox(Handle,'导出成功','提示',MB_OK);
     //FExcel.visible:=true;
     FExcel.quit; //关闭Excel
     FExcel := unassigned;
     //shellexecute(0,'open',PChar(ExtractFileName(TemFileName)),nil,PChar(ExtractFilePath(TemFileName)),SW_Show);

   end;
 End;

成都创新互联公司凭借专业的设计团队扎实的技术支持、优质高效的服务意识和丰厚的资源优势,提供专业的网站策划、网站建设、网站设计、网站优化、软件开发、网站改版等服务,在成都10余年的网站建设设计经验,为成都数千家中小型企业策划设计了网站。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享名称:delphi导出excel-创新互联
地址分享:http://jkwzsj.com/article/dpcjdd.html

其他资讯