Как читать из нескольких ячеек в Excel, используя C # Windows Forms

1

Я хотел добавить элементы управления Windows Forms в документ Excel, который я создал.

Для этого я создал новый проект, используя шаблон рабочей книги Office 2010 Excel 2010 в VS 2010 (С#). Все, что я пытаюсь сделать, это скопировать данные из нескольких ячеек и записать их в текстовый файл.

Всякий раз, когда я помещаю все ячейки, которые я хочу, в одно пространство имен, а затем попытаюсь прочитать "Value2", я просто получаю "System.Object [,]".

Все, что я сделал до сих пор, добавляет radioButton в Sheet 1 и создает обработчик событий. Прошлое, что я не уверен, что делать.

Теги:
excel-vba
excel

1 ответ

3
Лучший ответ

Свойство Value2 диапазона возвращается как 2-мерный массив значений. Чтобы получить доступ к значениям, просто выполните цикл через массив:

object[,] values = range.Values2;
for(int i = 0; i < values.Length(0); i++)
    for(int j = 0; j < values.Length(1); j++)
    {
        object cellValue = values[i,j];
        // do something with the value
    }
  • 0
    @D Stanley Когда я использую этот код, я получаю синтаксические ошибки, утверждающие, что «не может неявно преобразовать тип« объект »в« объект [ , ] »». Также я имею дело только с числами. Я копирую шестнадцатеричные значения из ячеек, поэтому я не уверен, что циклический переход будет работать.
  • 1
    Вам нужно будет привести к double[,] и, возможно, сможете привести значения ячеек к double[,] значениям. Код, который я дал, является приблизительным руководством - вам нужно адаптировать его для удовлетворения ваших конкретных потребностей.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню