spreadsheetlight - jak pobrać obrazek z pliku excel

0

Witam chcialbym aby moja aplikacja mogła pobrać obrazek z pliku excel i wstawić do pictureboxa.
Kompletnie nie mogę znaleźć metody która by na to pozwoliła.
do obslugi plikow excel korzystam z spreadsheetlight

ewentualnie może jakiś inny alternatywny dodatek pozwalając czytać i zapisywać pliki excel??

0

Tak z ciekawości jak można po co Ci z Excela? Nie lepiej z normalnego pliku JPG? Musisz poszukać jak to wyciągnąć, da się bo są programy co wyciągają JPG z Worda bez otwierania i wypakowuja do folderu. Więc miał byś już to ułatwione.

0

Ten SpreadSheetLight to jakaś nadbudówka na OpenXml 2.0, wygląda na to że nie dostarczają prostej funkcji do odczytu obrazka wrzuconego na arkusz.
Więc trzeba napisać własną (OpenXml v2):

static void Main(string[] args)
{
   var spreadsheet = SpreadsheetDocument.Open(@"Zeszyt1.xlsx", true);
   var workbookPart = spreadsheet.WorkbookPart;
   var worksheetParts = workbookPart.WorksheetParts.FirstOrDefault();
   foreach (var i in worksheetParts.DrawingsPart.ImageParts)
   {
      var id = worksheetParts.DrawingsPart.GetIdOfPart(i);
      var stream = i.GetStream();
      var length = stream.Length;
      var byteStream = new byte[length];
      stream.Read(byteStream, 0, (int) length);

      var path = string.Format("{0}-ObrazekZExcela.jpg", id);
      using (var imageFile = new FileStream(path, FileMode.Create))
      {
         imageFile.Write(byteStream, 0, byteStream.Length);
         imageFile.Flush();
      }
   }
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1