Hallo,
Ich hoffe mir kann geholfen werden:
ich will aus einem Excel Sheet diverse Spalten auslesen. Nachdem das ganze gestern schon geklappt hatte und mein Projekt weitesgehend steht, hab ich mir gedacht ich "verschönere" das ganze noch, weil es ziemlich hard Codiert war.
also wollte ich mal mein Excel sheet durchloopen und schauen, wie viele Zellen überhaupt beschrieben sind.
private int GetFilledCells()
{
Microsoft.Office.Interop.Excel.Application e = new Microsoft.Office.Interop.Excel.Application();
Workbook workBook = e.Workbooks.Open(portFolioPath, false, 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);
Worksheet workSheet = (Worksheet)workBook.Worksheets[1];
int temp = 1;
while (true)
{
if (workSheet.Cells["B", temp].ToString() == "")
{
workBook.Close(false, false, false);
return temp;
}
else
temp++;
}
}
Allerdings kommt dann eine Exception die mir absolut nichts sagt:
COMException wurde nicht behandelt:
Typkonflikt. (Ausnahme von HRESULT: 0x80020005(DSIP_E_TYPEMISMATCH))
Weiß von euch jemand Rat?
mfg und DANKE
Ach ja, die Exception tritt genau bei dieser Zeile auf:
if (workSheet.Cells["B", temp].ToString() == "")
OK, bin auf den Fehler gekommen, leider kam nach Beseitigung dieses Fehlers ein anderes Fehler hinzu...
Im übrigen: der alte Fehler war, dass ich einmal bei der Zellenangabe einen string und einmal integer verwendet habe, wenn ich beide male integer verwende gibt es nicht mehr die Exception: Typkonflikt...
Leider ist jetzt mal wieder die meistsagenste Exception geworfen worden (in der selben Zeile):
Ausnahme von HRESULT: 0x800A03EC
Das internet sagt mir, dass es Probleme mit der Globalisierung und Lokalisierung von Office Projektmappen gibt, aber ich habe im selben Source ebenfalls schon eine Excel Mappe ausgelesen und ich kann mir schwer vorstellen, dass das damit was zu tun hat...
Hat von euch jemand eine Ahnung?