Здравствуйте, Ellin, Вы писали:
E>Есть xls файл. Я в один из его листов что-то написал программно. Отдал пользователям. Пользователи используют его через эксель (меняют данные в ячейках, меняют последовательнось листов, меняют названия листов... вообще-то они не так часто все это делают, но лучше застраховаться). И вот спустя некоторое время я опять беру программно это эксель и теперь мне нужно из того самого листа взять данные из определенной ячейки. Во как!
Я бы писал в Workbook.Tag Что-то вроде Sheet1$A1 ну или любой формат в зависимости от задачи, который ты распарсишь когда повторно файл приедет к тебе.
... << RSDN@Home 1.2.0 alpha 4 rev. 1228>>
Luck in life always exists in the form of an abstract class that cannot be instantiated directly and needs to be inherited by hard work and dedication.
Пусть есть Excel файл. Там есть листы, 10 штук. Пусть я копирую два листа. И мне, теперь, нужно их как-то пометить, чтоб отличать в дальнейшем. Как это можно сделать?
Может быть какие-то переменные можно определять, привязанные к листу? Вообщем любым советам был бы признателен... иначе я тут совсем закопался... все перепробовал...
Здравствуйте, Ellin, Вы писали:
E>Пусть есть Excel файл. Там есть листы, 10 штук. Пусть я копирую два листа. И мне, теперь, нужно их как-то пометить, чтоб отличать в дальнейшем. Как это можно сделать? E>Может быть какие-то переменные можно определять, привязанные к листу? Вообщем любым советам был бы признателен... иначе я тут совсем закопался... все перепробовал...
Достаточно сохранить лист в переменной, например так
using Excel = Microsoft.Office.Interop.Excel;
...
...
//workbook : Excel.Workbook
Excel.Worksheet sheet1 = workbook.Worksheets[1] as Excel.Worksheet;
...
Дальше работа с выделенным листом ведется с помощью переменной sheet1.
OA>Дальше работа с выделенным листом ведется с помощью переменной sheet1.
Намекаешь, что я не достаточно понятно описал?
Попробую еще раз. Есть xls файл. Я в один из его листов что-то написал программно. Отдал пользователям. Пользователи используют его через эксель (меняют данные в ячейках, меняют последовательнось листов, меняют названия листов... вообще-то они не так часто все это делают, но лучше застраховаться). И вот спустя некоторое время я опять беру программно это эксель и теперь мне нужно из того самого листа взять данные из определенной ячейки. Во как!
Здравствуйте, Ellin, Вы писали:
E>Пусть есть Excel файл. Там есть листы, 10 штук. Пусть я копирую два листа. И мне, теперь, нужно их как-то пометить, чтоб отличать в дальнейшем. Как это можно сделать? E>Может быть какие-то переменные можно определять, привязанные к листу? Вообщем любым советам был бы признателен... иначе я тут совсем закопался... все перепробовал...
В Екселе есть Named Ranges. Не знаю, где оно через API, а в самом екселе их видно через Name Manager. Создать имя в екселе очень легко — достаточно выделить нужный диапазон, и написать нужное имя там, где обычно показан адрес текущей ячейки. А вот убить это имя уже сложнее, и знают как это сделать только очень продвинутые пользователи.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sinclair, Вы писали:
S>В Екселе есть Named Ranges. Не знаю, где оно через API, а в самом екселе их видно через Name Manager. Создать имя в екселе очень легко — достаточно выделить нужный диапазон, и написать нужное имя там, где обычно показан адрес текущей ячейки. А вот убить это имя уже сложнее, и знают как это сделать только очень продвинутые пользователи.
Да. я пробовал такую возможность. Однако если мне нужно идентифицировать два листа я никак не могу определить к какому Named Ranges какой из листов относится... т.е. с листом связи никак не могу найти...
Здравствуйте, Ellin, Вы писали: E>Да. я пробовал такую возможность. Однако если мне нужно идентифицировать два листа я никак не могу определить к какому Named Ranges какой из листов относится... т.е. с листом связи никак не могу найти...
Почему? Неужто свойство Range.Worksheet отменили?
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.