개발(IT)/DevExpress(WinForm)

DevExpress 문서파일 분리작업

isony 2023. 12. 1. 21:55
반응형

DevExpress 문서파일 분리작업

- 통합 문서에서 문서 속성을 검색하고 수정 날짜를 기준으로 파일을 정렬

using DevExpress.Spreadsheet;
using System.Diagnostics;
using System.IO;
using System;
// ...

static void Main(string[] args)
{
    DirectoryInfo directoryInfo = 
        new DirectoryInfo(@"C:\Users\Public\Documents\DevExpress Demos 20.2\Components\Data");
    if (directoryInfo.Exists)
    {
        FileInfo[] files = directoryInfo.GetFiles("*.xlsx");
        foreach (FileInfo file in files)
        {
            SortDocuments(file);
        }
        Process.Start("explorer.exe", @"D:\ExcelDocuments");
    }
}

private static void SortDocuments(FileInfo file)
{
    using (Workbook workbook = new Workbook())
        {
        // Load metadata from the document.
        ReadOnlyDocumentProperties docProperties = 
            workbook.LoadDocumentProperties(file.FullName);
        DateTime date = docProperties.Modified;

        // Check the year when the document was last modified,
        // and copy the file to the appropriate folder.
        switch (date.Year)
        {
            case 2017:
                string destFolder = @"D:\ExcelDocuments\2017";
                CheckDirectory(destFolder);
                file.CopyTo(Path.Combine(destFolder, file.Name), true);
                break;
            case 2018:
                destFolder = @"D:\ExcelDocuments\2018";
                CheckDirectory(destFolder);
                file.CopyTo(Path.Combine(destFolder, file.Name), true);
                break;
            case 2019:
                destFolder = @"D:\ExcelDocuments\2019";
                CheckDirectory(destFolder);
                file.CopyTo(Path.Combine(destFolder, file.Name), true);
                break;
            case 2020:
                destFolder = @"D:\ExcelDocuments\2020";
                CheckDirectory(destFolder);
                file.CopyTo(Path.Combine(destFolder, file.Name), true);
                break;
        }
    }
}

private static void CheckDirectory(string path)
{
    if (!Directory.Exists(path))
        Directory.CreateDirectory(path);
}

 

<참조문서>

https://docs.devexpress.com/OfficeFileAPI/402506/spreadsheet-document-api/examples/workbooks/how-to-load-document-properties

반응형