Beispiel #1
0
        //----- method -----

        public bool Load()
        {
            var iniFilePath = "./settings.ini";

            if (!File.Exists(iniFilePath))
            {
                return(false);
            }

            fileSettings = IniFile.Read <FileSettings>("File", iniFilePath);

            if (fileSettings == null)
            {
                return(false);
            }

            excelSettings = IniFile.Read <ExcelSettings>("Excel", iniFilePath);

            if (excelSettings == null)
            {
                return(false);
            }

            IgnoreSheetNames = excelSettings.ignoreSheetNames.Split(',').Select(x => x.Trim()).ToArray();

            return(true);
        }
Beispiel #2
0
 private void ImportExcelData(ExcelSettings excelSettings)
 {
     dataImport = new ExcelDataImport(excelSettings);
     Headers    = dataImport.GetHeaders();
     rows       = dataImport.LoadAll();
     RowsView   = CreateDataView();
 }
    /// <summary>Create account setting asset file if it does not exist.</summary>
    public static ExcelSettings Create()
    {
        string filePath = CustomAssetUtility.GetUniqueAssetPathNameOrFallback(AssetFileName);
        s_Instance = (ExcelSettings)AssetDatabase.LoadAssetAtPath(filePath, typeof(ExcelSettings));

        if (s_Instance == null) {
            s_Instance = CreateInstance<ExcelSettings>();

            string path = CustomAssetUtility.GetUniqueAssetPathNameOrFallback(AssetFileName);
            AssetDatabase.CreateAsset(s_Instance, path);

            s_Instance.AssetPath = Path.GetDirectoryName(path);
            s_Instance.AssetPath += "/";

            // saves file path of the created asset.
            EditorUtility.SetDirty(s_Instance);
            AssetDatabase.SaveAssets();

            EditorUtility.DisplayDialog(
                "Validate Settings",
                "Default excel settings file has been created for accessing excel spreadsheet. Set valid runtime editor paths before proceeding.",
                "OK"
            );
        } else {
            Debug.LogWarning("Already exist at " + filePath);
        }

        Selection.activeObject = s_Instance;

        return s_Instance;
    }
Beispiel #4
0
    /// <summary>
    /// Create account setting asset file if it does not exist.
    /// </summary>
    public static ExcelSettings Create()
    {
        string filePath = CustomAssetUtility.GetUniqueAssetPathNameOrFallback(AssetFileName);

        s_Instance = (ExcelSettings)AssetDatabase.LoadAssetAtPath(filePath, typeof(ExcelSettings));

        if (s_Instance == null)
        {
            s_Instance = CreateInstance <ExcelSettings> ();

            string path = CustomAssetUtility.GetUniqueAssetPathNameOrFallback(AssetFileName);
            AssetDatabase.CreateAsset(s_Instance, path);

            s_Instance.AssetPath  = Path.GetDirectoryName(path);
            s_Instance.AssetPath += "/";

            // saves file path of the created asset.
            EditorUtility.SetDirty(s_Instance);
            AssetDatabase.SaveAssets();

            EditorUtility.DisplayDialog(
                "Validate Settings",
                "Default excel settings have been created for accessing excel spreadsheet. Set valid runtime editor paths before proceeding.",
                "OK"
                );
        }
        else
        {
            Debug.LogWarning("Already exist at " + filePath);
        }

        Selection.activeObject = s_Instance;

        return(s_Instance);
    }
Beispiel #5
0
        public static IServiceCollection AddExcelProvider(this IServiceCollection serviceCollection, Action <ExcelSettings> excelSettingsAction = null)
        {
            var excelSettings = new ExcelSettings();

            excelSettingsAction?.Invoke(excelSettings);
            serviceCollection.AddSingleton <ExcelSettings>(excelSettings);
            serviceCollection.AddJsonProvider();
            serviceCollection.TryAddSingleton <IContentTypeProvider, ExcelContentTypeProvider>();
            return(serviceCollection);
        }
Beispiel #6
0
        public void LoadAll_EmptyFile_ReturnEmptyRows(ExcelSettings settings, int rowsNum)
        {
            // arrange
            ExcelDataImport importer = new ExcelDataImport(settings);

            // act
            var rows = importer.LoadAll();

            // assert
            Assert.AreEqual(rowsNum, rows.Count());
        }
Beispiel #7
0
        public void GetHeaders_FileDoesNotExist_ThrowFileNotFoundException(ExcelSettings settings)
        {
            // arrange
            ExcelDataImport importer = new ExcelDataImport(settings);

            // act
            TestDelegate action = () => importer.GetHeaders();

            // assert
            Assert.Throws <FileNotFoundException>(action);
        }
Beispiel #8
0
        public void GetHeaders_EmptyFile_ReturnEmptyFileHeaders(ExcelSettings settings, int headersNum)
        {
            // arrange
            ExcelDataImport importer = new ExcelDataImport(settings);

            // act
            var headers = importer.GetHeaders();

            // assert
            Assert.AreEqual(headersNum, headers.Count());
        }
Beispiel #9
0
        public void GetHeaders_NoHeaders_ReturnGenericHeaders(ExcelSettings settings, IEnumerable <object> validHeaders)
        {
            // arrange
            ExcelDataImport importer = new ExcelDataImport(settings);

            // act
            var headers = importer.GetHeaders();

            // assert
            CollectionAssert.AreEqual(validHeaders, headers);
        }
Beispiel #10
0
        public void LoadAll_ValidFile_ReturnRows(ExcelSettings settings, IEnumerable <Row> validRows)
        {
            // arrange
            ExcelDataImport importer = new ExcelDataImport(settings);

            // act
            var rows = importer.LoadAll();

            // assert
            Assert.AreEqual(validRows.Count(), rows.Count());
            var validRowsEnumerator = validRows.GetEnumerator();
            var rowsEnumerator      = rows.GetEnumerator();

            while (validRowsEnumerator.MoveNext() && rowsEnumerator.MoveNext())
            {
                Assert.AreEqual(validRowsEnumerator.Current.Timestamp, rowsEnumerator.Current.Timestamp);
                CollectionAssert.AreEqual(validRowsEnumerator.Current.Samples, rowsEnumerator.Current.Samples);
            }
        }
Beispiel #11
0
        public void Load_ValidFile_ReturnSpecifiedRowsRange(ExcelSettings settings, IEnumerable <Row> validRows, int skip, int take)
        {
            // arrange
            ExcelDataImport importer = new ExcelDataImport(settings);

            // act
            var rows = importer.Load(skip, take);

            // assert
            Assert.AreEqual(validRows.Count(), rows.Count());
            CollectionAssert.AreEqual(validRows, rows, new RowComparer());
            var validRowsEnumerator = validRows.GetEnumerator();
            var rowsEnumerator      = rows.GetEnumerator();

            while (validRowsEnumerator.MoveNext() && rowsEnumerator.MoveNext())
            {
                Assert.AreEqual(validRowsEnumerator.Current.Timestamp, rowsEnumerator.Current.Timestamp);
                CollectionAssert.AreEqual(validRowsEnumerator.Current.Samples, rowsEnumerator.Current.Samples);
            }
        }
Beispiel #12
0
 public ImportExcelDataDialogViewModel()
 {
     ExcelSettings = new ExcelSettings();
 }
 public void OnEnable()
 {
     setting = target as ExcelSettings;
 }
Beispiel #14
0
 public void OnEnable()
 {
     setting = target as ExcelSettings;
 }
Beispiel #15
0
 public static void CreateExcelSetting()
 {
     ExcelSettings.Create();
 }