zoukankan      html  css  js  c++  java
  • 从Excel读取信息,新建文件夹,根据起始页号和页数取图片,并将图片重命名

    if (pFlagOK)
    {
    DirectoryInfo[] imgFolders = new DirectoryInfo(imageFolder).GetDirectories();
    DirectoryInfo directoryInfos = null;
    DataTable pDataTable = ds.Tables["Sheet1"];

    //循环遍历文件夹
    for (int y = 0; y < imgFolders.Length; y++)
    {
    //获取文件夹的名称:064
    filename.Add(imgFolders[y].Name, imgFolders[y].Name);
    //获取文件夹的路径
    directoryInfos = new DirectoryInfo(imageFolder + "\" + imgFolders[y].Name);
    //根据文件夹名称获取到文件路劲
    oldname.Add(imgFolders[y].Name, directoryInfos);
    //图像路径
    FileInfo[] fileInfos = oldname[imgFolders[y].Name].GetFiles();

    //文件夹名称
    WjjName = imgFolders[y].Name;
    Dictionary<string, string> imgname = new Dictionary<string, string>();
    ArrayList ArrayList = new ArrayList();
    FileInfo[] imgages = directoryInfos.GetFiles("*.jpg");
    //循环遍历图像文件
    for (int i = 0; i < fileInfos.Length; i++)
    {
    imgname.Add(fileInfos[i].Name, fileInfos[i].FullName);
    ArrayList.Add(fileInfos[i].FullName);
    //Array.Sort(imgages, new ImagFileComparer());
    }


    int SumYS = 0;

    //循环遍历excel
    for (int i = 0; i < pDataTable.Rows.Count; i++)
    {

    JH = pDataTable.Rows[i]["卷号"].ToString();
    JianH = pDataTable.Rows[i]["件号"].ToString();
    YH = pDataTable.Rows[i]["页码"].ToString();
    YS = int.Parse(pDataTable.Rows[i]["页数"].ToString());


    if (pDataTable.Rows[i]["页码"].ToString().Equals("1"))
    {
    SumYS = 0;
    }
    else
    {
    int ys = int.Parse(pDataTable.Rows[i - 1]["页数"].ToString());
    SumYS += ys;
    }
    string name = WjjName.PadLeft(3, '0');
    //文件夹名称是否等于excel的卷号名称
    if (name == JH || name == JH.PadLeft(3, '0'))
    {

    //文件夹里的图像文件是否带有两个-,则是已经重命名过
    string Email = fileInfos[10].ToString();
    int num = Regex.Matches(Email, "_").Count;
    if (num != 2)
    {
    //判断excel是不是最后一行
    if (i < pDataTable.Rows.Count - 1)
    {
    //获取到每件的图像页码
    b = int.Parse(pDataTable.Rows[i]["页码"].ToString());
    a = int.Parse(pDataTable.Rows[i + 1]["页码"].ToString());


    //判断excel是否
    if (pDataTable.Rows[i]["页码"].ToString() == "1")
    {

    for (int k = 1; k <= YS; k++)
    {
    jpgName = JH.ToString() + "_" + JianH.ToString() + "_" + k.ToString().PadLeft(4, '0') + ".jpg";
    newname = directoryInfos + ("\") + jpgName;
    System.IO.File.Move(ArrayList[k - 1].ToString(), newname);
    metroSideMessage1.ShowMessage(enumMessageIconType.InfoOrange, "提示", "图像文件重命名成功!");
    }

    }

    if (pDataTable.Rows[i]["页码"].ToString() != "1")
    {
    int h = 0;
    h = int.Parse(pDataTable.Rows[i - 1]["页数"].ToString());
    for (int k = 1; k <= YS; k++)
    {

    jpgName = JH.ToString() + "_" + JianH.ToString() + "_" + k.ToString().PadLeft(4, '0') + ".jpg";
    newname = directoryInfos + ("\") + jpgName;
    System.IO.File.Move(fileInfos[(SumYS + k) - 1].FullName, newname);
    metroSideMessage1.ShowMessage(enumMessageIconType.InfoOrange, "提示", "图像文件重命名成功!");


    }

    }
    }


    if (i == pDataTable.Rows.Count - 1)
    {
    b = int.Parse(pDataTable.Rows[i]["页码"].ToString());
    a = fileInfos.Length;

    for (int k = 1; k <= YS; k++)
    {

    jpgName = JH.ToString() + "_" + JianH.ToString() + "_" + k.ToString().PadLeft(4, '0') + ".jpg";
    newname = directoryInfos + ("\") + jpgName;
    metroSideMessage1.ShowMessage(enumMessageIconType.InfoOrange, "提示", "图像文件重命名成功!");

    }
    }

    }
    else
    {
    break;

    }


    }

    else
    {

    continue;
    }

    }
    number++;
    mtbFJ.ButtonTextProContentText = "已重命名" + number + "卷号";
    System.Windows.Forms.Application.DoEvents();


    }

  • 相关阅读:
    字典序产生全排列
    python学习1 ---range()函数
    <第一周>降维
    <第一周> city中国城市聚类 testdata学生上网聚类 例子
    Python数据分析与展示[第三周](pandas数据类型操作)
    Python数据分析与展示[第三周](pandas数据特征分析单元8)
    第一周<单元一聚类>
    第一周<导学>
    总体<导学>
    Python数据分析与展示[第三周](pandas简介与数据创建)
  • 原文地址:https://www.cnblogs.com/yyldh/p/14030369.html
Copyright © 2011-2022 走看看