импорт данных из базы данных Excel To Access с помощью c # .net - PullRequest
1 голос
/ 09 апреля 2011

Я работаю над приложением Windows в c # .net, где мне нужно импортировать лист Excel в базу данных Access с использованием кода в C #.Я нашел следующий код в сети и попытался использовать:

 string path = @"D:\project_excel"; 
      OleDbConnection con;
        System.Data.DataTable dt = null;
        //Connection string for oledb
        string conn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + path + "; Extended Properties=Excel 8.0;";
        con = new OleDbConnection(conn);
        try
        {
            con.Open();

            dt = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
            String[] excelsheets = new String[dt.Rows.Count];
            int i = 0;

            foreach (DataRow dr in dt.Rows)
            {
                excelsheets[i] = dr["TABLE_NAME"].ToString();
                i++;
            }
            // here i manaually give the sheet number in the string array
            DataSet ds = new DataSet();
            foreach (string temp in excelsheets)
            {
                // Query to get the data for the excel sheet 
                //temp is the sheet name
                string query = "select * from [" + temp + "]";
                OleDbDataAdapter adp = new OleDbDataAdapter(query, con);
                adp.Fill(ds, temp);//fill the excel sheet data into a dataset ds
            }

        }
        catch (Exception ex)
        {

        }
        finally
        {
            con.Close();
        }

Однако он дает исключение, которое упоминается ниже:

Ядро базы данных Microsoft Jet не может открыть файл'D: \ project_excel.Он уже открыт исключительно другим пользователем, или вам необходимо разрешение на просмотр его данных.

Кроме того, я не знаю значения расширенных свойств.Я использую пакет Microsoft Office 2007. Если я установил Расширенные свойства = 7.0, выдается следующая ошибка:

Не удалось найти устанавливаемый ISAM.

Пожалуйста, помогите, предоставив некоторый кодобразец.

Заранее спасибо ..

Ответы [ 2 ]

0 голосов
/ 02 октября 2013

Для ошибки: не удалось найти устанавливаемый ISAM.

1: сохранить файл Excel как «Excel 97-2003 wrokbook» 2: а также включить ссылку «Microsoft.Office.Interop.Excel»

удачи!

0 голосов
/ 13 февраля 2013

Проверьте, корректна ли строка подключения для вашей версии базы данных Access.

Для получения подробной информации посетите ConnectionString.com

от

МохамедИншафудин Дж.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...