Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Code zum Suchen von Dateien basierend auf dem Inhalt in Excel

PHP-Code zum Suchen von Dateien basierend auf dem Inhalt in Excel

小云云
小云云Original
2018-03-05 11:19:591410Durchsuche

本文主要和大家分享php根据excel里面的内容寻找文件的代码,希望能帮助到大家。

using Aspose.Cells;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;

namespace FindFileByExcel
{
    class Program
    {
        public static void Main(string[] args)
        {
            //遗漏代码的excel记录文件夹
            string excelPath = @"C:\Users\qingping.li\Desktop\股东报告自动化\各种bug\未解决\十大股东遗漏代码.xlsx";
            //老的excel存储文件夹
            string oldExcelStoragePath = @"\\10.10.129.77\巨潮下载测试\2017\第三季度年报测试Excel\";
            //被挑选出来的excel文件夹
            string newExcelStoragePath = @"\\10.10.129.77\巨潮下载测试\2017\第三季度年报测试Excel\十大股东遗漏\";
            //程序集 Aspose.Cells.dll, v5.3.1.0(运用cell操作类)
            Cells cells = GetExcel(excelPath);
            //获得所有文件
            string[] excelFiles = Directory.GetFiles(oldExcelStoragePath);
            string signValue = "002768";
            //找到第一个
            Cell celltable = cells.FindStringContains(signValue, cells.FirstCell);
            List<string> list = new List<string>();
            if (celltable != null && celltable.Value != null)
            {
                list.Add(celltable.StringValue);
                Cell cellCount = cells.GetCell(celltable.Row + 1, celltable.Column);
                while (cellCount != null && cellCount.StringValue != null && Regex.IsMatch(cellCount.StringValue, @"\d"))
                {
                    cellCount = cells.GetCell(cellCount.Row + 1, cellCount.Column);
                    //获得所有的list列表
                    if (cellCount != null)
                        if (!list.Contains(cellCount.StringValue))
                            list.Add(cellCount.StringValue);
                }
                //开始复制所有excel中存在的数据到另外一个文件夹下面
                List<string> copyConpanyExcelFile = new List<string>();          
                foreach (string countVaue in list)
                {                   
                    foreach (string excelFile in excelFiles)
                    {
                        //如果已经找到了,就不再继续寻找
                        if (copyConpanyExcelFile.Contains(excelFile))
                            continue;
                        if (excelFile.IndexOf(countVaue) > -1)
                        {
                            if (!Directory.Exists(newExcelStoragePath))
                                Directory.CreateDirectory(newExcelStoragePath);
                            string fileName = excelFile.Split('\\')[excelFile.Split('\\').Length - 1];
                            try
                            {
                                if (!File.Exists(newExcelStoragePath + "\\" + fileName))
                                    File.Copy(excelFile, newExcelStoragePath + "\\" + fileName);
                                //将找到的excel文件存储起来;下次就不再寻找
                                copyConpanyExcelFile.Add(excelFile);
                                //跳出当前循环
                                break;
                            }
                            catch
                            {
                                continue;
                            }
                        }
                    }
                }
            }
            Console.Write("复制完毕!");
            Console.ReadKey();
        }
        public static Cells GetExcel(string excelPath)
        {
            Workbook workbook = new Workbook();
            try
            {
                workbook.Open(excelPath);
            }
            catch
            {
                return null;
            }
            return workbook.Worksheets[0].Cells;
        }
    }
}

相关推荐:

PHP读取Excel并展示实现代码

php中通用的excel导出方法实例

Node之Excel内容的获取

Das obige ist der detaillierte Inhalt vonPHP-Code zum Suchen von Dateien basierend auf dem Inhalt in Excel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn