Отображение файла 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. Лучшее, что вы можете сделать, - это показать ценности. Ячейки с формулами вообще не будут работать.