Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C# XML Excel .NET4 , +
Hi All,
 
I have a requirement in my project to add multiple images on the fly. The images are dynamically obtained from another source (the image path is obtained) and i need to paste them at a particular location on the excel sheet.
 
I am able to add single image successfully to spreadsheet (with OR without comments) but when i try to add one more image the excel was not opening. I am using "two anchor cell" method for adding the image.
 
Can anyone post a sample code ?
 
Thanks and Regards,
 
YKK Reddy
Posted 13-Feb-12 0:58am
YKK Reddy1.5K

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

Hi,
 
I have solved it myself. I am posting it here just in case anyone else needs.
 
I modified the code for the "Drawing" class. The below code is mentioned:
 
if (imageNumber == 1)            
{                
Drawing drawing = new Drawing() { Id = "rId" + drawingPartId.ToString() };                
//Check whether the WorksheetPart contains VmlDrawingParts (LegacyDrawing element)                
 
if (sheet1.VmlDrawingParts == null)                
{                    
//if there is no VMLDrawing part (LegacyDrawing element) exists, just append the drawing part to the sheet                    sheet1.Worksheet.Append(drawing);                
}                
else                
{                    
//if VmlDrawingPart (LegacyDrawing element) exists, then find the index of legacy drawing in the sheet and inserts the new drawing element before VMLDrawing part                    
int legacyDrawingIndex = GetIndexofLegacyDrawing(sheet1);                    
if (legacyDrawingIndex != -1)                        sheet1.Worksheet.InsertAt<OpenXmlElement>(drawing, legacyDrawingIndex);                    
else                        
sheet1.Worksheet.Append(drawing);                
}            
}
 

The complete set of code is available at "http://social.msdn.microsoft.com/Forums/en/oxmlsdk/thread/5c6e7ebd-66e2-40fa-9194-aed5cdc3f0ae"
 
In the code available in above link we need to just modify the "Drawing" part
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Sergey Alexandrovich Kryukov 565
1 Kornfeld Eliyahu Peter 409
2 Maciej Los 369
3 DamithSL 196
4 OriginalGriff 188
0 OriginalGriff 6,353
1 DamithSL 4,854
2 Maciej Los 4,466
3 Kornfeld Eliyahu Peter 4,058
4 Sergey Alexandrovich Kryukov 3,897


Advertise | Privacy | Mobile
Web02 | 2.8.141220.1 | Last Updated 13 Feb 2012
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100