Я пытаюсь получить данные из файла Excel с помощью:Ошибка получения данных из Excel
OpenFileDialog OpenCSVDialog = new OpenFileDialog();
OpenCSVDialog.Filter = "Excel |*.xlsx";
OpenCSVDialog.ShowDialog();
ExcelFileName = System.IO.Path.GetFileName(OpenCSVDialog.FileName);
string path = System.IO.Path.GetDirectoryName(OpenCSVDialog.FileName);
fullpath = Path.Combine(path, ExcelFileName);
dt_data = new DataSet("CSV File");
var connString = string.Format(
@"Provider=Microsoft.Jet.OleDb.4.0; Data Source={0};Extended Properties=""Text;HDR=YES;FMT=Delimited""",
Path.GetDirectoryName(fullpath)
);
using (var conn = new OleDbConnection(connString))
{
conn.Open();
var query = "SELECT * FROM [" + Path.GetFileName(fullpath) + "]";
using (var adapter = new OleDbDataAdapter(query, conn))
{
adapter.Fill(dt_data);
}
}
но при просмотре ошибки см приходя в этой строке: adapter.Fill(dt_data);
:
I иметь файл Excel в связанном пути.
Пожалуйста, укажите строку, в которой произошло исключение *, а не там, где оно было обнаружено. Скорее всего, вам нужно избежать имени файла, например, написать 'Data Source = '{0}'' –
Отредактированный вопрос. Пожалуйста, отметьте – Tom
Просто заметили, что вы используете имя файла в предложении 'FROM'. 'FROM' используется для выбора из определенного * листа *, а не файла. Это должно быть что-то вроде 'FROM [Sheet1 $]'. –