Как вставить данные из Excel в cxGrid

У меня есть приложение Delphi, использующее DevExpress cxGrid (который подключен к базе данных).

Мне нужно иметь возможность копировать данные из Excel в сетку.

Это возможно? Если да, то как это сделать, какие дополнительные компоненты мне нужны?

Проверьте формат с помощью Clipboard.HasFormat(CF_TEXT) .

Извлеките текст с помощью Clipboard.AsText .

Разделить на строки с StringList.Text := Clipboard.AsText . Каждый элемент в списке строк теперь является строкой из буфера обмена.

Разделите каждую строку на отдельные ячейки с помощью функции Split:

 function Split(const s: string; Separator: char): TStringDynArray; var i, ItemIndex: Integer; len: Integer; SeparatorCount: Integer; Start: Integer; begin len := Length(s); if len=0 then begin Result := nil; exit; end; SeparatorCount := 0; for i := 1 to len do begin if s[i]=Separator then begin inc(SeparatorCount); end; end; SetLength(Result, SeparatorCount+1); ItemIndex := 0; Start := 1; for i := 1 to len do begin if s[i]=Separator then begin Result[ItemIndex] := Copy(s, Start, i-Start); inc(ItemIndex); Start := i+1; end; end; Result[ItemIndex] := Copy(s, Start, len-Start+1); end; 

Вы можете проверить содержимое буфера обмена после копирования содержимого из приложения Excel. а затем в CTRL + V ярлык вы разбираете содержимое буфера обмена и устанавливаете данные в соответствующие ячейки.

  • Невозможно применить фильтр для целых столбцов в Excel экспортированной сетки DevExpress
  • DevExpress XtraGrid ExportToXlsx показывает флажок / не проверен для RepositoryItemCheckEdit вместо отметок
  • ASP.NET Не удается запустить файл Excel на сервере
  • Interesting Posts

    Excel: передача текущей ячейки в качестве аргумента при вызове функции vba из рабочего листа

    Изменение ширины столбца и высоты строки

    Использование VLookup в VBA для ссылки на другой файл Excel

    что делает этот метод ОТКРЫТО ADO?

    VB.Net, изменить существующий Excel вместо замены и правильно закрыть вызов

    Итерация через ячейки в столбце, если содержит критерии, скопировать строку на новый лист

    Каков синтаксис для запроса данных из ODBC (таблица excel) из другого соединения данных (sql)?

    Ошибка Runtime Excel 1004 – невозможно открыть

    Excel не отвечает при работе с большим количеством данных из надстройки

    Excel VBA – workheet.calculate не вычисляет все мои формулы

    Excel VBA application.match возвращает ошибку 13 (несоответствие типа) в CSV-файле

    Считайте строки до тех пор, пока значение суммы строк не будет больше значения

    Изменение кода для поиска ячеек внутри листов для «похожих» не точных

    Ошибка прерывания 462 при использовании Word

    Как создать электронную таблицу Excel, которая предоставляет ссылки на книги с помощью кнопок, которые разрешены только пользователю?

    Давайте будем гением компьютера.