2014-11-27 3 views
0

У меня есть действительный объект SpreadsheetDocument, созданный из потока. Я могу манипулировать им (например, добавить новую строку). После моих изменений мне нужно сохранить этот измененный документ в SQL Server как varbinary, а затем прочитать его для SQL Server для дальнейшего управления.Сохранить таблицу Документ в базе данных

Не могли бы вы привести пример, как его достичь?

Я знаю, как поместить/прочитать данные с SQL Server. Я ищу способ как-то преобразовать SpreadsheetDocument в массив байтов и создать обратно SpreadsheetDocument из массива байтов для SQL Server.

Я использую Open XML SDK 2.0

Большое спасибо,

Александр

ответ

0

Не совсем то же самое, но мне нужно, чтобы загрузить шаблон Excel в память, изменить его и отправить его на HTTP с использованием IIS. Я сделал это путем загрузки данных в поток памяти, а затем делать изменения (которые, как представляется, как Microsoft рекомендую здесь:

http://msdn.microsoft.com/en-us/library/ee945362%28v=office.11%29.aspx

Это может помочь вам:

MemoryStream ms = new MemoryStream(); 
    byte [] byteArray = System.IO.File.ReadAllBytes("document.xslm"); 
    ms.Write(byteArray, 0, byteArray.Length); 
    ms.Position = 0; 

    using (SpreadsheetDocument doc = SpreadsheetDocument.Open(ms, true)) 
    { 
    <Do stuff> 
    } 

    return File(ms.ToArray(), "application/vnd.ms-excel.sheet.macroEnabled.12", "output.xlsm"); 

Очевидно, последняя строка - это то, что мне нужно было сделать, вам нужно будет сохранить поток в базе данных.

Смежные вопросы