tabelle aus excel in c# einlesen

r4echer

Grünschnabel
Hallo liebe Experten,

zunächst einmal muss ich sagen, dass ich ein totlaer Anfänger bin.

Ich möchte folgendes tun:

Ich habe eine NxN-Tabelle in Excel, die ich in ein 2D-Array einlesen möchte. (integerwerte)

Ich habe probeweise nur einen Wert an den Array übergeben um zu schauen ob es klappt... -> es klappt nicht.

c# kennt auch den Value der Zellen nicht....ich denke, dass das c# noch beibroingen muss.. weiß aber nicht ganz genau welche Verweise er noch braucht.
Den Verweis auf Excel habe ich gemacht.

Da er den Value nicht kennt habe ich es probeweise mit .ToString() probiert und ein string-Array erstellt.. aber auch das klaoppt nicht. Vielleicht kann mir ja einer helfen.

Code:
PHP:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Excel = Microsoft.Office.Interop.Excel;
using System.Reflection; 


namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Excel.Application oXL;
            Excel._Workbook oWB;
            Excel._Worksheet oSheet;
          
            
            oXL = new Excel.Application();
            

            oWB = (Excel._Workbook)(oXL.Workbooks.Open(@"H:\Mappe3.xls",Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value));
            oSheet = (Excel._Worksheet)oWB.ActiveSheet;
            string[,] L = new string[6,6];

            L[1, 2] = oSheet.Cells[2, 2].ToString().ToString;
            Console.WriteLine(L[1,2]);

        }
    }
}

Grüße,
Alex
 
Moin Moin Alex

Du musst das Objekt, dass von oSheet.Cells[x,y] zurückgegeben wird erst in ein Objekt vom Typ Range umwandeln.

So:
PHP:
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using Excel = Microsoft.Office.Interop.Excel; 
using System.Reflection;  


namespace ConsoleApplication1 
{ 
    class Program 
    { 
        static void Main(string[] args) 
        { 
            Excel.Application oXL; 
            Excel._Workbook oWB; 
            Excel._Worksheet oSheet; 
            Excel.Range CurRange;
            
            oXL = new Excel.Application(); 
             

            oWB = (Excel._Workbook)(oXL.Workbooks.Open(@"H:\Mappe3.xls",Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value)); 
            oSheet = (Excel._Worksheet)oWB.ActiveSheet; 
            string[,] L = new string[6,6]; 

            CurRange = (Excel.Range)oSheet.Cells[2, 2];

            L[1, 2] = (String)CurRange.Text; 
            Console.WriteLine(L[1,2]); 

        } 
    } 
}


Mfg
RW
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück