• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 331
  • 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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

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