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();


    }

  • 相关阅读:
    hlgoj 1766 Cubing
    Reverse Linked List
    String to Integer
    Bitwise AND of Numbers Range
    Best Time to Buy and Sell Stock III
    First Missing Positive
    Permutation Sequence
    Next Permutation
    Gray Code
    Number of Islands
  • 原文地址:https://www.cnblogs.com/yyldh/p/14030369.html
Copyright © 2011-2022 走看看