本人电脑安装的是DELPHI XE7,OFFICE是2013版现有一堆EXCEL文件,有.xls, 有.xlsx,一份EXCEL表中可能只有一个sheet,也有可能有N个sheet,每个sheet大约有1~6w条数据,
现在要求把这些EXCEL文件里的所有不是空白的sheet内容读出来,写入另一个EXCEL文件中(当然这些要读的sheet表头都是一样的)
其实说白了就是把多个EXCEL内容合并成一个EXCEL(当然,如果条数超过1048575时,会继续生成第二份EXCEL)本来想用XLSReadWriteII5实现的,但是发现它没法计算sheetcount的功能。想问除了用OLE写外,还有其他更好的方法吗?小女子在此先谢过各位大侠了。

解决方案 »

  1.   

    建议你建立一个表,将EXCEL数据全部读入事,场面由谇表生成EXCEL。
    这样比较方便,在表内可以排除重复的数据。
      

  2.   

    你说的SheetCount是指一个Excel里有多少个Sheet页吗?
    可以用Count来统计啊
      XLSReadWriteII51.Filename :='D:\TEMP\test.xlsx';
      XLSReadWriteII51.Read;
      Application.MessageBox(PChar('当前EXCEL内有'+inttostr(XLSReadWriteII51.Count)+'个Sheet'), '提示', MB_OK + MB_ICONINFORMATION);
      

  3.   


    太感谢了,原来SheetCount 是这样算的,学习了