Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как проверить наличие страницы в Excel c# / 5 сообщений из 5, страница 1 из 1
08.11.2013, 20:36
    #38458431
miron50
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как проверить наличие страницы в Excel c#
Народ кто поможет ?
Нужно узнать есть ли некая страница в Экселе или нужно её создавать, как создать знаю а вот как проверить корректно хз ?

приходится использовать следующий код, но он не фень-шуй :(
string query = "CREATE TABLE [Results] (TC_ID varchar(255), Feature varchar(255) , ServerState varchar(10) , ClientState varchar(20), Result varchar(20), Comment varchar(255));";
string strExcelConn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source= " + pathToFile + ";Mode=ReadWrite;Extended Properties='Excel 12.0 xml;HDR=Yes';";
OleDbConnection connectExcel = new OleDbConnection(strExcelConn);
OleDbCommand commandExcel = new OleDbCommand();
commandExcel.Connection = connectExcel;
commandExcel.CommandText = queryForUpdate;
string[] stringQuery=queryForUpdate.Split(new Char[]{' '});
try
{
connectExcel.Open();
commandExcel.ExecuteNonQuery();
connectExcel.Close();
commandExcel.Dispose();
//LogFile.WriteToLog(stringQuery[0]+" "+ stringQuery[2] +" table SUCCESS ",logFile)
}
catch (Exception e)
{
if (e.Message.Contains("already exists."))
{
connectExcel.Close();
commandExcel.Dispose();
}
//else {LogFile.WriteToLog(e.Message,logFile)};
}
...
Рейтинг: 0 / 0
08.11.2013, 23:25
    #38458517
lbppb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как проверить наличие страницы в Excel c#
miron50,

Интересный у вас метод, я примерно так использую, но эт для 2007 и выше.
...
Рейтинг: 0 / 0
09.11.2013, 13:05
    #38458703
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как проверить наличие страницы в Excel c#
Если используется не один раз, то можно в отдельную функцию вынести:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public static bool ShExist(object wbP,string sShName)
        {
            bool bEx = false;
            object wsPShts = null,wsSh = null;
            wsPShts = wbP.GetType().InvokeMember("Worksheets", System.Reflection.BindingFlags.GetProperty, null, wbP, null);
            try
            {
                wsSh = wsPShts.GetType().InvokeMember("Item", System.Reflection.BindingFlags.GetProperty, null, wsPShts, new object[] { sShName });
                bEx = true;
            }
            catch { bEx = false; }
            return (bEx);
        }


wbP - объект. Книга, наличие листа в которой необходимо проверить.
sShName - имя листа для проверки.
Вызывается как-то так:
Код: c#
1.
2.
3.
4.
if (ShExist(wbAct, "Лист1") == false)
           {//Создаем лист, если лист с таким именем отсутствует
           
           }


Не знаю, правда, подойдет ли Вам такой метод при подобном обращении к Excel. Но вдруг еще кому пригодится.
...
Рейтинг: 0 / 0
15.11.2013, 18:36
    #38466850
miron50
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как проверить наличие страницы в Excel c#
lbppb,

Против лома нет приема )))) это метод такого типа )
...
Рейтинг: 0 / 0
15.11.2013, 18:36
    #38466852
miron50
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как проверить наличие страницы в Excel c#
The_Prist, спасибо попробую )
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как проверить наличие страницы в Excel c# / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]