Click here to Skip to main content
12,397,059 members (63,397 online)
Rate this:
 
Please Sign up or sign in to vote.
See more: C# XML MS-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 12-Feb-12 23:58pm
YKK Reddy1.8K

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  
Comments
S Anilranjan 23-Feb-16 1:32am
   
when are you setting this integer - imageNumber

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

  Print Answers RSS
Top Experts
Last 24hrsThis month


Advertise | Privacy | Mobile
Web01 | 2.8.160721.1 | Last Updated 13 Feb 2012
Copyright © CodeProject, 1999-2016
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