.NET Framework Bookmark and Share   
 index > 64-Bit .NET Framework Development > Microsoft.Office.Interop.Excel.dll
 

Microsoft.Office.Interop.Excel.dll

Hi again

I am still having problems with this Excel Interop ...

I did a little sample application.
It just opens a excel file and than closes it.
I refer directly to Microsoft.Office.Interop.Excel.dll
Platform Target is set to x86 (I tried also x64).
When I run it on a x86 Windows XP Machine it works fine.

When I run it on a x64 Windows 2003 Server the following error comes:
Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80040154.

This exeption comes up at this line:
Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application();

The code looks like:
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US");

Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook ObjWorkBook;
Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet;
ObjExcel.DisplayAlerts = false;
ObjExcel.Visible = false;

ObjWorkBook = ObjExcel.Workbooks.Open(@"C:\Temp\Temp.xls", false, true,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing);

ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1];

ObjWorkSheet = null;
ObjWorkBook.Close(Microsoft.Office.Interop.Excel.XlSaveAction.xlDoNotSaveChanges, Type.Missing, Type.Missing);
ObjExcel = null;


Any ideas?? I am happy for any comments !!
Best regards
Frank Uray
Frank Uray

I Know that this work:

using System;

using Microsoft.Office.Interop.Excel;

namespace TesteExcel_1

{

/// <summary>

/// Summary description for Class1.

/// </summary>

class Class1

{

/// <summary>

/// The main entry point for the application.

/// </summary>

[STAThread]

static void Main(string[] args)

{

Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application();

Microsoft.Office.Interop.Excel.Workbook ObjWorkBook;

Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet;

ObjWorkBook = ObjExcel.Workbooks.Open(@"c:\\CarteiraV3.xls", Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing);

ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet) ObjWorkBook.Sheets[1];

ObjWorkSheet.Name = "NomeDaTabela";

ObjWorkBook.Save();

ObjWorkBook.Close(Microsoft.Office.Interop.Excel.XlSaveAction.xlSaveChanges, Type.Missing,Type.Missing);

ObjExcel.Quit();

int a =0;

}

}

}

//sorry for code organize.....isn't my fault!

Miguel Nazario

I Know that this work:

using System;

using Microsoft.Office.Interop.Excel;

namespace TesteExcel_1

{

/// <summary>

/// Summary description for Class1.

/// </summary>

class Class1

{

/// <summary>

/// The main entry point for the application.

/// </summary>

[STAThread]

static void Main(string[] args)

{

Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application();

Microsoft.Office.Interop.Excel.Workbook ObjWorkBook;

Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet;

ObjWorkBook = ObjExcel.Workbooks.Open(@"c:\\CarteiraV3.xls", Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing);

ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet) ObjWorkBook.Sheets[1];

ObjWorkSheet.Name = "NomeDaTabela";

ObjWorkBook.Save();

ObjWorkBook.Close(Microsoft.Office.Interop.Excel.XlSaveAction.xlSaveChanges, Type.Missing,Type.Missing);

ObjExcel.Quit();

int a =0;

}

}

}

//sorry for code organize.....isn't my fault!

Miguel Nazario
Good day...
I was just wondering is it possible to read from a xls sheet if the computer does not have excel installed on it? The development machine does have excel but then i need to deploy it to a machine that does not have excel yet it needs to read from the file and write it into a DB?
Coffee is what makes civilised life Possible
Gremlin1708
With OleDBprovideris posible to make querys like Sql over an excel file without need of install. Also you can make updates but not works fine.
Desarrollador de software
VictorG
little bit late for this reply but thank you i eventually went over to writing a web application. This way i can have only one Microsoft license on the server yet everyone can work on it.

Coffee is what makes civilised life Possible
Gremlin1708

You can use google to search for other answers

Custom Search

More Threads

• Marshalling issues with Pinvoke using literal string in a structure in 64-bit.
• 64 Bit where to get info
• Setting the Platform to x64 in VS2005 for a ASP.NET web site type project
• A generic error occured in GDI+
• DW20.exe issues
• J# doesn't support 64 bit?
• Info on .Net development for 64 bit platform?
• 64 bit OS and Microsoft.mshtml issue
• Difficulty installing asp.net 2.0 ajax
• Virtual PC On XP x64