Как получить URL-адрес приложения в приложении VSTO - PullRequest
0 голосов
/ 30 декабря 2010

У меня есть веб-приложение на C #, где я буду называть VSTO 2003. Он работает нормально. Мне нужен URL-адрес приложения, чтобы я мог подключиться к веб-сервису. В настоящее время я жестко запрограммировал URL-адрес веб-службы в методе Sheet1_Startup. Но адрес будет изменен, поэтому мне нужен способ получить его динамически. То есть, когда я вызываю VSTO, я хочу, чтобы URL был помещен в одну из ячеек в Excel ИЛИ ЖЕ Есть ли способ, где я могу передать строку запроса в приложение VSTO 2003 из моего веб-приложения.

Пожалуйста, помогите, пожалуйста.

@ RobertG5

Я написал код в своем веб-приложении, как показано ниже

 System.Data.OleDb.OleDbConnection objConn = new System.Data.OleDb.OleDbConnection(
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @"C:\Examples\VSTO2007\VSTO2007\VSTO2007.xlsx" +
    ";Extended Properties=Excel 8.0;");
            objConn.Open();


            System.Data.OleDb.OleDbCommand objCmd = new System.Data.OleDb.OleDbCommand();
            objCmd.Connection = objConn;
            objCmd.CommandText = "Insert into [Sheet1$]" +
                " values ('Test')";
            objCmd.ExecuteNonQuery();


            // Close the connection.
            objConn.Close();

И значения вставляются в лист vsto excel. Теперь, как мне скачать этот Excel.

С уважением, cmrhema

1 Ответ

0 голосов
/ 31 декабря 2010

Предупреждение, вы никогда не должны получать доступ к Excel через VSTO в среде веб-сервера.Вы столкнетесь со всеми видами проблем с многопоточностью, в основном потому, что Excel является однопоточным приложением, и вы получаете к нему доступ в многопоточной среде.Если вы работаете с Excel, вы можете передать ему свой собственный аргумент командной строки.Просто убедитесь, что он не конфликтует ни с одним из аргументов командной строки Excel (например, / x: myargument).Вы захотите закодировать его так, чтобы он не содержал никаких специальных символов, которые в противном случае конфликтовали бы с протоколом аргумента (например, base64).При загрузке вашей надстройки вы можете проверить аргумент и делать с ним все, что вам нравится (Environment.GetCommandLineArgs ()).Или вы можете просто создать экземпляр Excel через COM и вставить значение в ячейку: http://support.microsoft.com/kb/302096

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