Home  >  Article  >  Backend Development  >  PHP code to find files based on the content in excel

PHP code to find files based on the content in excel

小云云
小云云Original
2018-03-05 11:19:591414browse

本文主要和大家分享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内容的获取

The above is the detailed content of PHP code to find files based on the content in excel. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn