怎样把listview中数据导入到EXCEL表中??

解决方案 »

  1.   

    var
      myexcel:variant;
      workbook:olevariant;
      worksheet:olevariant;  i,j,k:integer;
    begin
        try
       myexcel:=createoleobject('excel.application');
       myexcel.application.workbooks.add;
       myexcel.caption:='将数据导入到EXCEL表中';
       myexcel.application.visible:=true;
       workbook:=myexcel.application.workbooks[1];
       worksheet:=workbook.worksheets.item[1];
       except
        showmessage('EXCEL不存在!');
       end;
      for k:=0 to listview1.items.count-1 do
          worksheet.cells[1,1+k]:=Listview1.items[k].caption;//把第一列的数据放入Excel的第一列
      //其他列的同理
    end;
      

  2.   

    ...
    ...
    uses
      ...,ComObj;var
      i,j,k:integer;
      eclApp,WordBook:Variant;
      xlsFileName:string;
    begin
      xlsFileName:='1.xls';
      try
      eclApp:=CreateOleObject(‘Excel.Application’);
      WorkBook:=CreateOleObject(Excel.Sheet’);
      Except
      showmessage('你的机器没有安装Microsoft Excel');
      Exit;
      End;  WorkBook:=eclApp.workbooks.Add;
      for i:=0 to listview1.items.count-1 do
      begin
        k:=0;
        for j:=0 to listview1.Columns-1 do
        begin
          if j=0 then
            EclApp.Cells(i+1,j+1):=listview1.Items.Item[i].Caption
          else begin
            EclApp.Cells(i+1,j+1):=listview1.Items.Item[i].SubItems[j];
            k:=k+1;
          end;
        end;
      end;
      WorkBook.SaveAS(xlsFileName);
      WorkBook.close;
      EclApp.Quit;
    end;
      

  3.   

    这句写错了,改为
    EclApp.Cells(i+1,j+1):=listview1.Items.Item[i].SubItems[k];
      

  4.   

    利用剪贴板实现高速导出数据到Excel 
    http://www.csdn.net/develop/read_article.asp?id=14327
      

  5.   

    WorkBook.SaveAS(xlsFileName);也就是xlsfilename来自保存对话框的文件名
      

  6.   

    没有把LISTVIEW.columns导出为第一行
      

  7.   

    LISTVIEW.saveas('你的excel文件名')