Проблема чтения листа Excel - PullRequest
       10

Проблема чтения листа Excel

3 голосов
/ 20 октября 2010
SqlDataReader reader;
string r="";
if ((FileUpload1.PostedFile != null)&&(FileUpload1.PostedFile.ContentLength > 0))
{
    r = System.IO.Path.GetFullPath(FileUpload1.PostedFile.FileName);
}
OleDbConnection oconn =
    new OleDbConnection
    (@"Provider=Microsoft.Jet.OLEDB.4.0;"
    + @"Data Source="+r+";"
    + @"Extended Properties=""Excel 8.0;HDR=Yes;""");
oconn.Open();
OleDbCommand dbcom = new OleDbCommand("SELECT * FROM [Sheet1$]", oconn);
OleDbDataReader dbreader = dbcom.ExecuteReader();
int rni = dbreader.GetOrdinal ("RollNo");
int mki = dbreader.GetOrdinal ("marks");

Здесь программа работает, только если лист Excel присутствует в папке проекта. И если в таблицу Excel вносятся какие-либо изменения, а затем программа запускается снова, то выбираются только те строки, которые присутствовали ранее, а не те, которые были добавлены позже. Пожалуйста, помогите мне ..... спасибо заранее .....

1 Ответ

1 голос
/ 20 октября 2010

Привет. Пожалуйста, опубликуйте полный код, в качестве альтернативы вы можете импортировать полную рабочую таблицу в объект Datatable с помощью метода ниже и получить необходимые столбцы и строки DataTable

static public DataTable ExecuteOleDataTable(string sql, string oledbconnectionstring)
   {
       using (OleDbCommand command = new OleDbCommand())
       {
           command.CommandType = CommandType.Text;

           OleDbConnection oledbconnection = new OleDbConnection(oledbconnectionstring);
           command.Connection = new OleDbConnection(oledbconnectionstring); ;
           command.CommandText = sql;

           if (oledbconnection.State == System.Data.ConnectionState.Open)
               oledbconnection.Close();
           oledbconnection.Open();
           OleDbDataAdapter sda = new OleDbDataAdapter(command);
           DataTable datatable = new DataTable();
           sda.Fill(datatable);
           oledbconnection.Close();
           return datatable;
       }
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...