Solved

Having Problems with Microsoft Excel 11.0 object library to work on iis 6.0 server using asp.net vb

Posted on 2008-10-16
3
1,805 Views
Last Modified: 2013-11-26
I am trying to create an excel spreadsheet at runtime to be displayed to users over the web.
(Office 2003 has been installed on all computers and iis server)

I have added the refference to "Microsoft Excel 11.0 Object Library" to my VisualStudio 2005 web project which is located on the iis server.

The website is a private site where users must be authenticated..(No problems there just adding background) the site works fine but when i try to create a worksheet i get an error:

****** this is the error displayed in ie when i run the page ****************************
_________________________________________________________________

Retrieving the COM class factory for component with CLSID {00020819-0000-0000-C000-000000000046} failed due to the following error: 80040154.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Runtime.InteropServices.COMException: Retrieving the COM class factory for component with CLSID {00020819-0000-0000-C000-000000000046} failed due to the following error: 80040154.

Source Error:


Line 14:     Private Sub CreateSpreadsheet()
Line 15:         thisExcel = New Excel.Application
Line 16:         thisWorkbook = New Excel.Workbook    <-------- Error occurs here
Line 17:         thisExcel.Workbooks.Add("D:\INTERNET\test\Test\Excel_Templates\Forecasting_Template_1.xls")
Line 18:         'thisWorkbook = thisExcel.Workbooks.Open(, )
 


'this is the code for the page that is run:
 
 

Imports System.Reflection

Imports System.Runtime.InteropServices

Imports Excel = Microsoft.Office.Interop.Excel
 

Partial Class Report_Forecasting_Excel_1

    Inherits System.Web.UI.Page
 

    'Create Excel Objects

    Dim thisExcel As Excel.Application

    Dim thisWorkbook As Excel.Workbook

    Dim thisWorksheet As Excel.Worksheet
 

    Private Sub CreateSpreadsheet()

        thisExcel = New Excel.Application

        thisWorkbook = New Excel.Workbook

        thisExcel.Workbooks.Add("D:\INTERNET\test\Test\Excel_Templates\Forecasting_Template_1.xls")

        'thisWorkbook = thisExcel.Workbooks.Open(, )

        thisExcel.Visible = True

        thisWorkbook.Activate()
 

        thisExcel.Workbooks.Add(thisWorkbook)

        thisWorksheet = New Excel.Worksheet

        thisWorkbook.Worksheets.Add(thisWorksheet)

        thisWorkbook.Application.Visible = True
 

        thisWorksheet.Cells(1, 1) = "hello there"

    End Sub
 
 

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        CreateSpreadsheet()

    End Sub

End Class

Open in new window

0
Comment
Question by:LennyCXIII
  • 2
3 Comments
 
LVL 26

Accepted Solution

by:
Anurag Thakur earned 500 total points
ID: 22734217
can you please confirm that doing these settings make any difference
http://blog.crowe.co.nz/archive/2006/03/02/589.aspx
0
 

Author Comment

by:LennyCXIII
ID: 22734381
I changed the page code to the following and now i get no errors but i just see a blank page.
how do i display the excel sheet: in the browser window

*******************NEW CODE*****************

Imports System.Reflection
Imports System.Runtime.InteropServices
Imports Excel = Microsoft.Office.Interop.Excel

Partial Class Report_Forecasting_Excel_1
    Inherits System.Web.UI.Page

    'Create Excel Objects
    Dim thisExcel As Excel.Application
    Dim thisWorkbook As Excel.Workbook
    Dim thisWorksheet As Excel.Worksheet

    Private Sub CreateSpreadsheet()
        thisExcel = New Excel.Application
        thisExcel.Workbooks.Add("D:\INTERNET\test.JazzCameras.com\Test\Excel_Templates\Forecasting_Template_1.xls")
        thisWorkbook = thisExcel.Workbooks(1)
        thisWorkbook.Activate()
        thisWorksheet = thisWorkbook.Worksheets(1)
        thisWorkbook.Application.Visible = True
        thisWorksheet.Cells(10, 10) = "hello there"
    End Sub


    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        CreateSpreadsheet()
    End Sub
End Class
0
 

Author Closing Comment

by:LennyCXIII
ID: 31506833
or add     to the global.conf
0

Featured Post

Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
powershell - detection of system errors 3 36
Two different visual studio versions 3 22
Syntax Error 2 43
.NET tools for adding thread safety to a web app? 3 13
When trying to find the cause of a problem in VBA or VB6 it's often valuable to know what procedures were executed prior to the error. You can use the Call Stack for that but it is often inadequate because it may show procedures you aren't intereste…
Article by: Martin
Here are a few simple, working, games that you can use as-is or as the basis for your own games. Tic-Tac-Toe This is one of the simplest of all games.   The game allows for a choice of who goes first and keeps track of the number of wins for…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

914 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

14 Experts available now in Live!

Get 1:1 Help Now