Как открыть Excel и показать данные из C# без использования дискового файла?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как открыть Excel и показать данные из C# без использования дискового файла?

Сообщение Anonymous »

У меня есть документ Excel, созданный ClosedXML, который я могу записать в совершенно правильный файл XLSX. Однако я хочу показать документ в Excel, не записывая его в файл на диске. Пользователь может просмотреть содержимое в удобной для пользователя форме, а затем решить, сохранять ли его на диск или нет. Это было бы намного эффективнее, чем сначала записывать файл на диск, для которого требуется диалоговое окно «Сохранить как», а затем показывать его в Excel, а затем, если пользователю не нужны выходные данные, заставлять его или ее удалить этот файл.
Вот код, который я собрал из различных источников для открытия файла Excel в работающем экземпляре приложения Excel, который останется открытым даже после закрытия моего приложения C#:

Код: Выделить всё

using Excel = Microsoft.Office.Interop.Excel;
//needs ref to COM: Microsoft Excel Object Library

public void ShowFile()
{
Excel.Application _ExcelApp = new Excel.Application();
_ExcelApp.Visible = true;
_ExcelApp.Workbooks.Open(@"C:\temp\us1.xlsx");
}
Чего мне не хватает, так это способа открытия из MemoryStream. Во многих других проектах существуют методы Open для файловых или потоковых объектов, но здесь я не смог их найти.
Другой путь — не использовать Open(Stream), если таковой имеется. , но использовать эту библиотеку для создания одной или нескольких книг с использованием библиотек OpenXml или ClosedXml, поскольку эти библиотеки могут загружаться из потока, но это не сработало. Я нашел код для преобразования ClosedXml в OpenXml. Но на самом деле я не нашел кода для создания книги, совместимой с приведенным выше фрагментом.
Любая помощь приветствуется.

Подробнее здесь: https://stackoverflow.com/questions/792 ... -disk-file
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»