Текущий архив: 2006.10.22;
Скачать: CL | DM;
Вниз
В чем может быть проблема при получении данных из буфера Найти похожие ветки
← →
Александр Иванов © (2006-09-27 18:23) [0]Конечно не совсем по месту, но может кто знает. На C#, Framework 2.0. Открываю Excel выбираю область, вставляю в буфер, все средствами COM. Проверяю - делаю "Вставить" в блокноте - есть данные. Пытаюсь получить:
IDataObject data = Clipboard.GetDataObject();
if (data != null)
{
if (data.GetDataPresent(DataFormats.CommaSeparatedValue))
{
StreamReader reader = new StreamReader(data.GetData(DataFormats.CommaSeparatedValue) as Stream);
string csv = reader.ReadToEnd();
...
Так вот data всегда равна null. Есть одно но, этот код выполняется в отдельном потоке. Тот же код проверяю в отдельном приложении - все работает. Дело в том, что это универсальный способ получения данных из Excel, я конечно в этом случае могу обойтись без буфера, но так получаются и диаграммы в виде картинок и прочее.
← →
Ломброзо © (2006-09-27 18:35) [1]Попробуйте ApartmentState потока установить в STA
← →
Александр Иванов © (2006-09-27 18:47) [2]
> Ломброзо © (27.09.06 18:35) [1]
Спасибо, даже не ожидал столь быстрый ответ :)
← →
Ломброзо © (2006-09-27 19:00) [3]Работает?
← →
Lamer@fools.ua © (2006-09-27 19:19) [4]>>Ломброзо © (27.09.06 19:00) [3]
Это не важно. Главное, ответ быстрый ;o)
← →
default © (2006-09-27 20:57) [5]небольшой оффтопик
в екселе можно выделить кусок листа и отравить письмо с телом письма ввиде этого куска, как это программно сделать в C# не знаете?(выделить не проблема, главное как отправить этот выделенный кусок телом письма)
← →
Ломброзо © (2006-09-27 21:58) [6]Универсальный ответ на все вопросы по работе с объектной моделью MS Office: пишем макрос, что-то делаем, тормозим макрос, смотрим код
← →
Александр Иванов © (2006-09-28 07:44) [7]
> Ломброзо © (27.09.06 19:00) [3]
Конечно, поэтому и благодарил :)
Страницы: 1 вся ветка
Текущий архив: 2006.10.22;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.028 c