示例#1
0
        private static IImportService GetImporter(Properties properties, string method)
        {
            IImportService importer;

            var file            = properties.SafeRead(PropertyConstants.File);
            var headerRowSpaces = properties.SafeRead(PropertyConstants.HeaderRowSpaces, "Remove");

            switch (method)
            {
            case nameof(Method.ExcelBulkImport):
            case nameof(Method.ExcelBulkImportWithTransaction):
            case nameof(Method.ExcelImport):
            case nameof(Method.ExcelImportWithTransaction):

                var excelImportSettings = new ExcelImportSettings
                {
                    File               = file,
                    SheetName          = properties.SafeRead(PropertyConstants.SheetName),
                    HeaderRowIndex     = properties.SafeRead(PropertyConstants.HeaderRowIndex, 0),
                    HeaderRowSpaces    = headerRowSpaces,
                    DuplicateDelimiter = properties.SafeRead(PropertyConstants.DuplicateColumnDelimiter, ";")
                };

                importer = new ImportExcelFileService(excelImportSettings);

                break;

            case nameof(Method.CsvBulkImport):
            case nameof(Method.CsvBulkImportWithTransaction):
            case nameof(Method.CsvImport):
            case nameof(Method.CsvImportWithTransaction):

                var csvImportSettings = new CsvImportSettings
                {
                    File            = file,
                    HeaderRowSpaces = headerRowSpaces,
                    ColumnDelimiter = properties.SafeRead(PropertyConstants.ColumnDelimiter, ','),
                    TextQualifier   = properties.SafeRead(PropertyConstants.TextQualifier, '"')
                };

                importer = new ImportCsvFileService(csvImportSettings);

                break;

            default:
                throw new Exception($"No importer found for '{method}'");
            }

            return(importer);
        }
示例#2
0
        private static ImportStatus ImportCsv(string fileName)
        {
            var settings = new CsvImportSettings
            {
                File            = GetK2FileString(fileName),
                HeaderRowSpaces = "Replace",
                ColumnDelimiter = ',',
                TextQualifier   = '"'
            };

            var importer = new ImportCsvFileService(settings);

            _importedData = importer.Results;

            Console.WriteLine(importer.Message);

            return(importer.Status);
        }