Автоматизация Excel. Как скопировать несколько ячеек?

Например:

//omitted vector<_bstr_t> cellData; Excel::_WorksheetPtr pSheet = application->ActiveSheet; Excel::RangePtr pRange = application->Cells; _bstr_t cellValue = pRange->Item[1][1]; //single cell cellData.push_back(cellValue); //omitted 

Без:

  • MFC
  • АТЛ

Вопрос:

  • Как скопировать несколько ячеек, например A1: B1, в вектор?
  • Есть ли более подходящий метод вместо Item ?

Я никогда не делал автоматизацию Excel с использованием C ++, но если он работает так же, как и макросы VBA, класс WorkSheet должен иметь свойство Range, которое возвращает диапазон ячеек на листе. Вы можете указать, какой диапазон вы хотите либо, указав два идентификатора ячейки, либо строку, представляющую диапазон.

Код в псевдо VBA:

 Dim range As Range Set range = ActiveSheet.Range("B12:D34") Set range = ActiveSheet.Range("B12", "D34") Set range = ActiveSheet.Range("B12", ActivSheet.Range("D34")) ... 

Дополнительную информацию о классе Range см. В MSDN .

  • Ошибка надстройки адаптера времени разработки Visual Studio Design Studio
  • Как создать файл Excel с подключением к подключению
  • как удалить изображение на листе
  • Установка ExcelPackage с Visual Studio 2008 с помощью C #
  • чтение excel на стороне сервера
  • Как получить доступ к ячейке в Excel Interop при использовании фильтрованных диапазонов?
  • Экспорт ошибки excel: файл, который вы пытаетесь открыть FileName, находится в другом формате, чем указанное расширение
  • Свалка Excel занимает много времени
  • Доступ к электронной таблице Excel с помощью C # иногда возвращает пустое значение для некоторых ячеек
  • Импортировать значения даты в Sql Server с помощью пакетов импорта
  • Переименование листов в Excel через экспорт из Visual Studio 2010
  • Interesting Posts
    Давайте будем гением компьютера.