Вставка изображения в Excel из строки - PullRequest
0 голосов
/ 02 ноября 2011

Я генерирую файл CSV из следующего кода

public ActionResult Index()
{
    var csv = "मानक हिन्दी;some other value";
    var data = Encoding.UTF8.GetBytes(csv);
    data = Encoding.UTF8.GetPreamble().Concat(data).ToArray();
    var cd = new ContentDisposition
    {
        Inline = false,
        FileName = "newExcelSheet.csv"
    };
    Response.AddHeader("Content-Disposition", cd.ToString());
    return File(data, "text/csv");
}

Теперь я хочу вставить изображение в верхнем ряду Excel, пожалуйста, помогите мне в следующей проблеме

Спасибо:)

Ответы [ 3 ]

1 голос
/ 02 ноября 2011

CSV не формат, способный включать двоичные данные, такие как изображения. Единственное, что вы можете включить в файл CSV - это текст .

Если вам нужно добавить изображение в документ Excel, вам нужно будет использовать правильный файл Excel (то есть файл .xls или .xlsx). Существуют различные API-интерфейсы, которые можно использовать для записи в такие файлы, в том числе Объектная модель Excel , предоставляемая через COM при установке Office.

См. этот вопрос для получения подробной информации о том, как вставлять изображения через COM.

0 голосов
/ 02 ноября 2011

CSV не поддерживает то, что вы просите И Взаимодействие официально НЕ поддерживается MS в сценариях сервера (например, ASP.NET ...) .

Вам потребуется создать «настоящие» файлы Excel (XLS или XLSX) - некоторые параметры для создания файлов Excel:

MS предоставляет бесплатный OpenXML SDK V 2.0 - см. http://msdn.microsoft.com/en-us/library/bb448854%28office.14%29.aspx

Это позволяет читать и записывать файлы MS Office (включая Excel XLSX, но не XLS!).

Другойсм. параметр http://www.codeproject.com/KB/office/OpenXML.aspx

Если вам нужно больше, например, рендеринг, формулы и т. д., тогда существуют различные бесплатные и коммерческие библиотеки, такие как ClosedXML , EPPlus , Aspose.Cells , SpreadsheetGear , LibXL и Flexcel .

0 голосов
/ 02 ноября 2011

Вы не можете сделать это без использования сборки взаимодействия.Вы либо идете по этому пути, либо скачиваете epplus, бесплатную библиотеку Excel .Net, которая поддерживает все, что вам нужно.

Примеры кода на сайте:

http://epplus.codeplex.com/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...