Как запустить Excel с потоком XLSX

я создал документ XLSX в памяти.

я хочу показать документ пользователю без сохранения временного файла.

Раньше я просто автоматизировал Excel и делал

xl.Visible = true;

и пользователь увидит это - никаких временных файлов, засоряющих его компьютер.

Но я надеюсь стандартизировать одну кодовую базу для создания документов Excel на стороне сервера и интерактивного создания документов Excel< /а>. На сервере я бы отправил поток по HttpResponse или как вложение SMTP, и покончил с этим.

Теперь мне нужен способ потокового контента в клиентскую часть Excel.


person Ian Boyd    schedule 18.10.2012    source источник
comment
Если ваш сервер отправляет поток и вы используете какой-либо тип HTTP-сервера, вы всегда можете указать тип MIME как application/vnd.ms-excel, и все готово (ваш браузер автоматически позаботится о временном файле). ). Если это локальный клиент, которому необходимо получить данные из веб-службы, я бы предложил создать именованный канал и таким образом передать поток документов Excel. См. stackoverflow.com /вопросы/3045304/   -  person jklemmack    schedule 18.10.2012
comment
Это нормально, когда электронная таблица XLSX создается на веб-сервере. Но при сборке локальными приложениями Win32: нет веб-сервера; это локальное приложение Win32.   -  person Ian Boyd    schedule 18.10.2012
comment
Похоже, NamedPipe — самое простое решение. Просто создайте поток XLSX, передайте его в канал, и ваша автоматизация откроет Excel с этим в качестве аргумента входного файла.   -  person jklemmack    schedule 18.10.2012