Подпишись на наш Twitter

Быть в курсе появления новых статей!

Вы можете перетаскивать данные из WPF в виде списка значений разделенных запятыми в Excel. Когда вы перетащили список CSV в Excel, то каждый элемент будет вставлен в отдельную ячейку.

В примере ниже мы имеем список элементов в контроле ListBox.

Мы можем перетаскивать элементы списка, подписавшись на событие MouseLeftButtonDown для элемента с надписью с голубым фоном. Мы создаем строку, содержащую элементы списка, разделенные запятой. Затем мы создаем DataObject с типом формата CommaSeparatedValue.

private void Label_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
    List stringItems = new List();

    foreach (ListBoxItem lbi in lbEncyclopedias.Items)
        stringItems.Add((string)lbi.Content);

    string someValues = string.Join(",", stringItems);

    DataObject data = new DataObject(DataFormats.CommaSeparatedValue, someValues);

    DragDrop.DoDragDrop((DependencyObject)e.Source, data, DragDropEffects.Copy);
}

Когда мы перетаскиваем данные в Excel, то подсвечивается диапазон ячеек для вставки.

Когда вы отпустите кнопку мыши, то элементы из списка появятся в ячейках выбранного диапазона.

Оригинал: #707 – Dragging a List of Items from a WPF Application into Excel




Дата публикации: 07.12.2012 18:17

Ярлыки: CSV, Drag and Drop, Events, Excel, WPF