コード例 #1
0
        public List <dynamic> LoadDynamicListFromExcel(string excelFilePath)
        {
            Debug.WriteLine($"Current Path {Environment.CurrentDirectory}, expected path of excelfile with keys {Path.Combine( Environment.CurrentDirectory, excelFilePath )}");
            var file = File.Open(excelFilePath, FileMode.Open);
            var data = new SLExcelReader( ).ReadExcel(file);

            return(data.DataRows.Select(dataRow => AsDynamic(dataRow, data.Headers)).ToList( ));
        }
コード例 #2
0
        private void SelectImportFileButton_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();

            if (openFileDialog.ShowDialog() == true)
            {
                _SelectedFileFullPath     = openFileDialog.FileName;
                SelectedFileLabel.Content = (new FileInfo(openFileDialog.FileName)).Name;
            }
            else
            {
                return;
            }

            SLExcelReader reader      = new SLExcelReader();
            SLExcelData   excelData   = reader.ReadExcel(_SelectedFileFullPath);
            SiteSetting   siteSetting = ApplicationContext.Current.Configuration.SiteSettings[_MainObject.SiteSettingID];
            List <Field>  fields      = ServiceManagerFactory.GetServiceManager(siteSetting.SiteSettingType).GetFields(siteSetting, _MainObject);

            DynamicGrid.ColumnDefinitions.Clear();
            ColumnDefinition gridCol1 = new ColumnDefinition();
            ColumnDefinition gridCol2 = new ColumnDefinition();

            gridCol1.Width = GridLength.Auto;
            gridCol2.Width = GridLength.Auto;
            DynamicGrid.ColumnDefinitions.Add(gridCol1);
            DynamicGrid.ColumnDefinitions.Add(gridCol2);
            for (int i = 0; i < excelData.Headers.Count; i++)
            {
                string        headerTitle = excelData.Headers[i];
                RowDefinition gridRow1    = new RowDefinition();
                gridRow1.Height = new GridLength(45);
                DynamicGrid.RowDefinitions.Add(gridRow1);


                System.Windows.Controls.ComboBox comboBox = new ComboBox();
                comboBox.Width      = 200;
                comboBox.Height     = 30;
                comboBox.Background = Brushes.LightBlue;
                ComboBoxItem emptycboxitem = new ComboBoxItem();
                emptycboxitem.Content    = "Select a field";
                emptycboxitem.IsSelected = true;
                emptycboxitem.Tag        = "";
                comboBox.Items.Add(emptycboxitem);
                foreach (Field field in fields)
                {
                    ComboBoxItem cboxitem = new ComboBoxItem();
                    cboxitem.Content = field.DisplayName;
                    cboxitem.Tag     = field.Name;
                    if (field.Name.Equals(headerTitle, StringComparison.InvariantCultureIgnoreCase) == true)
                    {
                        cboxitem.IsSelected = true;
                    }
                    comboBox.Tag = headerTitle;
                    comboBox.Items.Add(cboxitem);
                }

                Grid.SetRow(comboBox, i);
                Grid.SetColumn(comboBox, 1);
                DynamicGrid.Children.Add(comboBox);

                Label label = new Label();
                label.Content = headerTitle;
                Grid.SetRow(label, i);
                Grid.SetColumn(label, 0);
                DynamicGrid.Children.Add(label);
            }
        }