Versucht, Daten von * .XLS Datei zu lesen. Ich bin in der Lage, alle Zellenfolgen zu lesen, aber nicht in der Lage, die Zahlen in den Zellen zu lesen. Ich habe versucht, mit .ToString() -Methode ohne Erfolg. Zurück zu einer Datenbank null.OleDbDataReader Wie Nummerntypen gelesen werden?
Code:
public xlsConverter(string excelFilePath, int numColumns)
{
string cnnStr = String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}; Extended Properties='Excel 8.0;HDR=No;'", excelFilePath);
string queryStr = "SELECT * FROM [Sheet1$]";
using (OleDbConnection connection = new OleDbConnection(cnnStr))
{
OleDbCommand command = new OleDbCommand(queryStr, connection);
connection.Open();
OleDbDataReader reader = command.ExecuteReader();
while (reader.Read())
{
for(int i = 0; i <= numColumns; i++)
{
cleanedString.AppendFormat("{0}{1}", (reader[i].ToString()), "|");
}
cleanedString.AppendLine();
}
reader.Close();
}
}
cleanedString.AppendFormat ("Row [{0}], Datatype [{1}], String [{2}], Spalte [{3}] | - | ", Zähler, (Leser [i]). GetType(), Leser [i] .ToString(), i);
Produziert:
Row [98], Datatype [System.DBNull], String [], Spalte [4] | - |
Spalte 4 enthält gemischte Strings und Zahlen, zum Beispiel: 1300 2341, 5000, 4000 (DED), 1243
Versuchte „getint, GetValue, Parse, 'Casting' verwenden, ToString() usw. ", aber null ist null! Wer möchte mich in die richtige Richtung führen?
Beispiel XLS-Datei:
https://github.com/abflett/adamflett_ca
https://github.com/abflett/adamflett_ca/blob/master/sample.xls
Wenn Sie sicher sind, ist es eine Zahl, werfen nur auf die Art Sie wollen. z.B. (int) Leser [i]; – detellda
Versuchte diese und sogar geändert zu: cleanedString.AppendFormat ("Zeile [{0}], DataType [{1}], String [{2}], Spalte [{3}] | - |", Zähler, (Leser [i]). GetType(), Leser [i] .ToString(), i); System.DBNull wurde für Zellen zurückgegeben, die über einen Datentyp mit der Nummer verfügen. Ich denke, vielleicht verliere ich Daten mit dem Befehl, Abfrage oder Verbindungszeichenfolge? – abflett
Können Sie einige Beispieldaten aus der .xls-Datei geben? – detellda