943,697 Members | Top Members by Rank

Ad:
  • C# Discussion Thread
  • Unsolved
  • Views: 4046
  • C# RSS
Jan 3rd, 2009
0

opening Excel 2003 file by c#

Expand Post »
Hello everyone

First ,My name is Hashem I'm a beginner in c#, I'm trying to open Excel file(2003) but I get error at Open Function in the below code :


(Old Format Or Invalid Library Of kinds (Exception from HRESULT: 0x80028018 (TYPE_E_INVDATAREAD))


Is there anybody can help me? where I use the following code that i have collected from many reference.
The replies are valuable.



public static Excel.Application ExlApp;
public static Excel.Workbook ExlWrkBook;
public static Excel.Worksheet ExlWrkSheet;


Excel.Application ExcApp = new Excel.Application();
ExcApp.Visible = true;
Excel.Workbook excelWorkbook = ExcApp.Workbooks.Open("D:\\Salary Calc.xls", 0, false, 5, "", "", true,Excel.XlPlatform.xlWindows, "\t", true, false, 0, false, true, true);

Excel.Sheets ExcSheet = excelWorkbook.Worksheets;
string currentSheet = "Sheet1";
Excel.Worksheet excelWorksheet = (Excel.Worksheet)ExcSheet.get_Item(currentSheet);
Excel.Range excelCell = (Excel.Range)excelWorksheet.get_Range("A1", "A1");
Similar Threads
Reputation Points: 10
Solved Threads: 0
Newbie Poster
hesham_51 is offline Offline
2 posts
since Nov 2008
Jan 3rd, 2009
0

Re: opening Excel 2003 file by c#

What's your Office SDK version?
Featured Poster
Reputation Points: 480
Solved Threads: 276
Postaholic
Ramy Mahrous is offline Offline
2,189 posts
since Aug 2006
Jan 3rd, 2009
0

Re: opening Excel 2003 file by c#

And, more to the point, which version of excel did you add as a reference?
Reputation Points: 196
Solved Threads: 190
Posting Virtuoso
LizR is offline Offline
1,735 posts
since Aug 2008
Jan 5th, 2009
0

Re: opening Excel 2003 file by c#

Hi
I'm using

Microsoft.Office.Interop
Reputation Points: 10
Solved Threads: 0
Newbie Poster
hesham_51 is offline Offline
2 posts
since Nov 2008
May 20th, 2009
0

Re: opening Excel 2003 file by c#

Hy,
I did something like what you want in VC++ .NET Framework language. Just use the same classes in C# and it should work (there are some peaces of code that are usefull in my application but do no refer to Excell handling - just not care of). Please note that you have to install Excel 2003 and Windows XP or higher in the system where the application runs.

private: System::Void button7_Click(System::Object^ sender, System::EventArgs^ e)
{
String^ XlsFile = String::Format("Z:\\Documenti\\Lavoro\\Fatture\\2009\\Fattura_02_AEM_marzo_09.xls");
String^ XlsSheet = String::Format("Milano, {0}/{1}/{2}",
dateTimePicker1->Value.Day.ToString(),
dateTimePicker1->Value.Month.ToString(),
dateTimePicker1->Value.Year.ToString());

Excel::Application^ oXLApp;
Excel::Workbook^ oXLWBook;
//Excel::Sheets^ oXLSheet;
//Excel::Worksheet^ oXLWSheet;

Excel::Range^ rng;

//starts Excel application
oXLApp = (gcnew Excel::Application());
oXLApp->Visible = true;
//opens the workbook of the file "XlsFile"
oXLWBook = oXLApp->Workbooks->Open(XlsFile, 0, false, 5, "", "",
true,Excel::XlPlatform::xlWindows, "\t", true, false, 0, false, true, true);
//updates the range of sheet1, cell D4
rng = oXLApp->Range::get("D4","D4");
rng->Value2 = XlsSheet;

}
Reputation Points: 10
Solved Threads: 0
Newbie Poster
pferian is offline Offline
3 posts
since May 2009
May 20th, 2009
0

Re: opening Excel 2003 file by c#

Hi!
Hope this code will resolve your problem.

C# Syntax (Toggle Plain Text)
  1. using System.Collections;
  2. using Microsoft.Office.Interop.Excel;
  3. using System;
  4. using System.Reflection;
  5. class Sample
  6. {
  7. static void Main()
  8. {
  9. string file = @"c:\csnet\jap\ex1\sample1.xls";
  10. Microsoft.Office.Interop.Excel.ApplicationClass ap = new ApplicationClass();
  11. Missing m=Missing.Value;
  12. Workbook wb=ap.Workbooks.Open(file, m, m, m, m, m, m, m, m, m, m, m, m, m, m);
  13. Worksheet sh =(Worksheet) wb.Sheets[1];
  14. for (int i = 1; i < 10; i++)
  15. {
  16.  
  17. string[] p = new string[10];
  18. for (int j = 1; j <= 10; j++)
  19. {
  20. Range r = (Range)sh.Cells[i, j];
  21. p[j - 1] = r.Value2;
  22. }
  23.  
  24. }
  25. ap.Quit();
  26.  
  27. }
  28. }
Last edited by adatapost; May 20th, 2009 at 10:32 am.
Moderator
Reputation Points: 2136
Solved Threads: 1228
Posting Genius
adatapost is offline Offline
6,527 posts
since Oct 2008
May 21st, 2009
0

Re: opening Excel 2003 file by c#

i did the same thing using javascript..may be that helps you..
here is the javascript code:
C# Syntax (Toggle Plain Text)
  1. <html>
  2.  
  3. <head>
  4.  
  5. <title></title>
  6.  
  7. </head>
  8.  
  9. <body>
  10. <script type="text/javascript">
  11. function read()
  12. {
  13.  
  14. var myApp = new ActiveXObject("Excel.Application");
  15. if (myApp != null)
  16. {
  17. myApp.visible = true;
  18. myApp.workbooks.open("C:\\Book2.xls");
  19. }
  20. }
  21.  
  22. </script>
  23. <button onclick="read();">READ</button>
  24. </body>
  25.  
  26. </html>
Reputation Points: 11
Solved Threads: 0
Newbie Poster
Poojasrivastava is offline Offline
13 posts
since Apr 2009
May 21st, 2009
0

Re: opening Excel 2003 file by c#

i did the same thing using javascript..may be that helps you..
here is the javascript code:
C# Syntax (Toggle Plain Text)
  1. <html>
  2.  
  3. <head>
  4.  
  5. <title></title>
  6.  
  7. </head>
  8.  
  9. <body>
  10. <script type="text/javascript">
  11. function read()
  12. {
  13.  
  14. var myApp = new ActiveXObject("Excel.Application");
  15. if (myApp != null)
  16. {
  17. myApp.visible = true;
  18. myApp.workbooks.open("C:\\Book2.xls");
  19. }
  20. }
  21.  
  22. </script>
  23. <button onclick="read();">READ</button>
  24. </body>
  25.  
  26. </html>

Nice code. You should post this one on Web forum.
Moderator
Reputation Points: 2136
Solved Threads: 1228
Posting Genius
adatapost is offline Offline
6,527 posts
since Oct 2008
May 21st, 2009
0

Re: opening Excel 2003 file by c#

i hope it helped you,if it did then mark it as solved...
Reputation Points: 11
Solved Threads: 0
Newbie Poster
Poojasrivastava is offline Offline
13 posts
since Apr 2009

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in C# Forum Timeline: Sudoku
Next Thread in C# Forum Timeline: How to remove uid and password in connection string?





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC