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;
}
}
}
根据excel里面的内容寻找文件
最新推荐文章于 2024-06-15 14:36:27 发布