обновить ячейки Excel текстом верхнего регистра - PullRequest
0 голосов
/ 10 февраля 2011

У меня есть следующая проблема с файлом Excel, который я хочу прописать значения соответствующих ячеек в C # со следующим кодом:

DbProviderFactory factory =
                    DbProviderFactories.GetFactory("System.Data.OleDb");
                DbConnection connection = factory.CreateConnection();

                string stringConnection = String.Format(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR=NO;IMEX=1'",
                    excelPath);

                connection.ConnectionString = stringConnection;

                connection.Open();

                DbCommand updateExcel =
                    factory.CreateCommand();

                updateExcel.CommandText =
                    "UPDATE [sheet1$] SET lastname = UCASE(lastname), name = ucase(name)";

                updateExcel.Connection = connection;

                updateExcel.ExecuteNonQuery();

                conection.Close();
                connection.Dispose();

, и это вызывает oledbexception о параметрах не указано, кто-нибудьмогли бы помочь мне?

1 Ответ

0 голосов
/ 11 февраля 2011

Если вы пытаетесь подключиться к электронной таблице Excel 2007 или 2010, вам потребуется следующая строка подключения ...

OleDbConnection xlconnection = new OleDbConnection();

xlconnection.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FileName + @";Extended Properties='Excel 12.0;HDR=YES;IMEX=1'"
...