• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 329
  • Last Modified:

Add image to Excel sheet using .Net

I am developing Web application in which file download facility. Before file download image added to specified cell. But in my case it add to A1 cell.
0
nahanfee
Asked:
nahanfee
  • 2
1 Solution
 
HarryNSCommented:
Add Microsoft Excel Object as reference to your application and use the following code. This will work.
using A = Microsoft.Office.Interop.Excel;
        
        private void insertImage()
        {
            A.Application ThisApplication = new A.ApplicationClass();
            A.Workbook ThisWorkBook;
 
 
            string _stFileName = "C:\\Hari\\Test.xls";
            string _stPicture = @"C:\Documents and Settings\149525\My Documents\My Pictures\check.bmp";
            object missing = System.Reflection.Missing.Value;
 
            try
            {
                ThisWorkBook = ThisApplication.Workbooks.Open(_stFileName, missing, missing, 5, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
                A.Worksheet ThisSheet = (A.Worksheet)ThisWorkBook.Sheets[2];
 
                ThisSheet.Cells[1, 1] = "test";
 
                A.Range oRange = (A.Range)ThisSheet.Cells[1, 2];
 
                Image oImage = Image.FromFile(_stPicture);
                System.Windows.Forms.Clipboard.SetDataObject(oImage, true);
                ThisSheet.Paste(oRange, _stPicture);
 
                ThisWorkBook.Save();
            }
            catch (Exception oEx)
            {
            }
            finally
            {
                ThisApplication.Quit();
                ThisWorkBook = null;
                ThisApplication = null;
            }
 
        }

Open in new window

0
 
nahanfeeAuthor Commented:
Any other solution without paste.
0
 
HarryNSCommented:
Then you can use this code,
private void insertImage()
        {
            A.Application ThisApplication = new A.ApplicationClass();
            A.Workbook ThisWorkBook;
 
 
            string _stFileName = "C:\\Hari\\Test.xls";
            string _stPicture = @"C:\Documents and Settings\149525\My Documents\My Pictures\check.bmp";
            object missing = System.Reflection.Missing.Value;
 
            try
            {
                ThisWorkBook = ThisApplication.Workbooks.Open(_stFileName, missing, missing, 5, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
                A.Worksheet ThisSheet = (A.Worksheet)ThisWorkBook.Sheets[2];
 
                ThisSheet.Cells[1, 1] = "test";
                ThisSheet.Shapes.AddPicture(_stPicture, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoTrue, 10, 10, 70, 70);
 
                //A.Range oRange = (A.Range)ThisSheet.Cells[1, 2];
 
                //Image oImage = Image.FromFile(_stPicture);
                //System.Windows.Forms.Clipboard.SetDataObject(oImage, true);
                //ThisSheet.Paste(oRange, _stPicture);
 
                ThisWorkBook.Save();
            }
            catch (Exception oEx)
            {
            }
            finally
            {
                ThisApplication.Quit();
                ThisWorkBook = null;
                ThisApplication = null;
            }
 
        }

Open in new window

0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now