Заголовок Excel - это объединенные ячейки - PullRequest
0 голосов
/ 25 января 2019

В настоящее время я создаю приложение посещаемости, которое будет рассчитывать их рабочие часы из листа Excel и файла журнала.

Я загружаю файл Excel в dataGrid.

Вот как выглядит файл Excel Excel File

И это вывод, когда я пытаюсь поместить его в DataGrid DataGrid Output

Я также попытался установить HDR = Нет, и вот что происходит No Header

Это мой текущий код XAML

<DataGrid
       x:Name="dgvAttendance"
       Margin="0 5 0 0"
       CanUserSortColumns="True"
       CanUserAddRows="False" HorizontalScrollBarVisibility="Visible" SelectedIndex="0" >
       </DataGrid>

А это мой код для заполнения моей DataGrid

OpenFileDialog openFileDialog1 = new OpenFileDialog(); 
                openFileDialog1.Filter = "XML Files (*.xml; *.xls; *.xlsx; *.xlsm; *.xlsb) |*.xml; *.xls; *.xlsx; *.xlsm; *.xlsb";
                openFileDialog1.FilterIndex = 3;

                openFileDialog1.Multiselect = false;  
                openFileDialog1.Title = "Open Text File-R13";  
                openFileDialog1.InitialDirectory = @"Desktop";

                openFileDialog1.ShowDialog();
                string pathName = openFileDialog1.FileName;
                string fileName = System.IO.Path.GetFileNameWithoutExtension(openFileDialog1.FileName);
                DataTable tbContainer = new DataTable();
                string strConn = string.Empty;
                string sheetName = "2018";

                FileInfo file = new FileInfo(pathName);
                if (!file.Exists) { throw new Exception("Error, file doesn't exists!"); }
                string extension = file.Extension;
                switch (extension)
                {
                    case ".xls":
                        strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathName + ";Extended Properties='Excel 8.0;HDR=No;IMEX=1;'";
                            break;
                    case ".xlsx":
                        strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + pathName + ";Extended Properties='Excel 12.0;HDR=No;IMEX=1;'";
                            break;
                    default:
                        strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathName + ";Extended Properties='Excel 8.0;HDR=No;IMEX=1;'";
                            break;
                }

                OleDbConnection cnnxls = new OleDbConnection(strConn);
                OleDbDataAdapter oda = new OleDbDataAdapter(string.Format("select * from [{0}$]", sheetName), cnnxls);
                oda.Fill(tbContainer);
                dgvAttendance.ItemsSource = tbContainer.DefaultView;

Я ожидаю, что вывод должен выглядеть как заголовок Excel, который объединен и не разрывается, вместо текущего вывода DataGrid, который разбивает

...