Solved

Add image to Excel sheet using .Net

Posted on 2009-04-09
4
308 Views
Last Modified: 2012-06-22
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
Comment
Question by:nahanfee
  • 2
4 Comments
 
LVL 6

Expert Comment

by:HarryNS
ID: 24107210
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
 

Author Comment

by:nahanfee
ID: 24113599
Any other solution without paste.
0
 
LVL 6

Accepted Solution

by:
HarryNS earned 250 total points
ID: 24128592
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

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Today I had a very interesting conundrum that had to get solved quickly. Needless to say, it wasn't resolved quickly because when we needed it we were very rushed, but as soon as the conference call was over and I took a step back I saw the correct …
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
Along with being a a promotional video for my three-day Annielytics Dashboard Seminor, this Micro Tutorial is an intro to Google Analytics API data.

920 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now