none
OleDB - Excel - verlorene Daten RRS feed

  • Frage

  • Hallo Zusammen,

    ich schreibe im Moment ein kleines Tool welches Daten aus Excel via OleDB einliest, das klappt im Grunde auch ganz hervorragend.

    Leider fehlen mir jedoch Daten und zwar der Text aus der letzten Spalte. Wenn sich in dieser Spalte eine Zahl befindet wird diese eingelsen/ausgegeben, aber wenn es sich um Text handelt ist da irgendwie nichts.


    Code zum einlesen der Excel Datei:

    public DataSet Excel(string file)
            {
                DataSet dataSet = new DataSet();
                OleDbConnection connection = new OleDbConnection();
                connection.ConnectionString = "Data Source=" + file + ";Provider=Microsoft.Jet.OLEDB.4.0;";
                connection.ConnectionString += @"Extended Properties=""Excel 8.0;HDR=No""";
    	
    	        connection.Open();
    	        DataTable sheets = connection.GetOleDbSchemaTable(
    		    OleDbSchemaGuid.Tables, 
    		    new object[] {null, null, null, "TABLE"});
    
    	        foreach (DataRow sheet in sheets.Rows)
    	        {
    		        string tableName = sheet["Table_Name"].ToString();
    		        string sql = "SELECT * FROM [" + tableName + "]";
    		        OleDbDataAdapter adap = new OleDbDataAdapter(sql, connection);
    		        adap.Fill(dataSet, tableName);
    	        }
    	
    	        connection.Close();
    	        return dataSet;
            }

    Der Code mit dem ich im Moment die Werte ausgeben lasse:

    private void loadReport(DataTable dataTable)
            {
                string report = null;
                
                for (int x = 0; x < dataTable.Rows.Count; x++)
                {
                    DataRow row = dataTable.Rows[x];
                    DataColumn col = dataTable.Columns[/*y*/10];
                    Console.WriteLine(x + ":" + /*y*/10 + " -> " + row[col].ToString());
                }

    Ich habe bereits die Formatiereung der Excel Zellen geändert, das Ergebnis bleibt das selbe. Die DataTable ist auch exzakt 11 Spalten breit und 66 Lang, so wie die Excel Datei.

    Ich weiß nicht ob die Daten nicht eingelesen werden (kann ich das irgendwo sehen?) oder ob sie nur nicht dargestellt werden.

    Ich danke für eure Hilfe.

    Sandro



    Montag, 1. April 2013 09:00

Antworten

Alle Antworten