Member 10850253 Ответов: 1

Отображение файла excel в datagridview с возможностью изменения листов


В настоящее время у меня есть приложение, которое использует treeview для выбора файлов. Я хочу иметь возможность предварительного просмотра любого xls или xlsx в winform.
Я пробовал какой-то код, но всегда получал ошибку: "не удалось найти устанавливаемый isam", и я не знаю, как это исправить.
Может кто-то пожалуйста, помогите мне?
Спасибо.

Что я уже пробовал:

dataGridView1.BringToFront();
              string temp = Path.GetDirectoryName(CurrentNode.FullPath);
              temp = temp.Substring(0, temp.IndexOf("\\")) + "\\";
              exactpath = Path.GetFullPath(Path.GetDirectoryName(CurrentNode.FullPath).Replace(temp, ""))+"\\"+Path.GetFileName(CurrentNode.FullPath);
              MessageBox.Show(exactpath);
              System.Data.OleDb.OleDbConnection MyConnection;
              System.Data.DataSet DtSet;
              System.Data.OleDb.OleDbDataAdapter MyCommand;
              MyConnection = new System.Data.OleDb.OleDbConnection(@"provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + exactpath + ";Extended Properties=Excel 11.0;");
              MyCommand = new System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", MyConnection);
              MyCommand.TableMappings.Add("Table", "Net-informations.com");
              DtSet = new System.Data.DataSet();
              MyCommand.Fill(DtSet); //Error in this line
              dataGridView1.DataSource = DtSet.Tables[0];
              MyConnection.Close();

Dave Kreskowiak

Для этого нельзя использовать реактивный самолет. Он понятия не имеет, что такое файл XLSX. Вы должны использовать двигатель ACE. Посмотрите на строку подключения.

Но имейте в виду, что DGV-это не Excel. Лучшее, что вы можете сделать, - это показать ценности. Ячейки с формулами вообще не будут работать.