Wanneer ik een excel bestandlees moet ik in een while lus van tabblad wisselen dit probeerde ik met de volgende code maar krijg hierop steeds een error.
van tabblad wijzigen doe ik dus met deze regel
Iemand een oplossing voor dit probleem?
Code:
public void excel() //excel opladen
{
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
System.Globalization.CultureInfo oldCI = System.Threading.Thread.CurrentThread.CurrentCulture;
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US"); //taalinstelling wijzigen (anders error)
object misValue = System.Reflection.Missing.Value;
xlApp = new Excel.ApplicationClass();
xlWorkBook = xlApp.Workbooks.Open(DataContainer.padexcel);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); //eerste tablad van de werkmap MPU
while (luscontrollers < 3)
{
kollomtellenexcel = 0;
rijtellenexcel = 0;
while (kollomtellenexcel < 6)
{
try
{
while (rijtellenexcel <aantalcellen)
{
locexcel = kollom + rijtellenexcel;
try
{
controllerinfo[kollomtellenexcel, rijtellenexcel] = xlWorkSheet.get_Range(locexcel).get_Value().ToString();
}
catch
{
}
rijtellenexcel = rijtellenexcel + 1;
}
rijtellenexcel = 0;
kollomtellenexcel = kollomtellenexcel + 1;
if (kollom == "E")
{
kollom = "F";
}
if (kollom == "D")
{
kollom = "E";
}
if (kollom == "C")
{
kollom = "D";
}
if (kollom == "B")
{
kollom = "C";
}
if (kollom == "A")
{
kollom = "B";
}
}
catch
{
}
}
luscontrollers = luscontrollers + 1;
if (luscontrollers == 1)
{
foutcodempu = controllerinfo;
xlWorkBook.Close(true, misValue, misValue);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(2);
aantalcellen = 40;
}
if (luscontrollers == 2)
{
foutcodeaaux = controllerinfo;
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(3);
aantalcellen = 120;
}
if (luscontrollers == 3)
{
foutcodeactrl = controllerinfo;
}
}
xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();
xlApp = null;
System.Threading.Thread.CurrentThread.CurrentCulture = oldCI;
van tabblad wijzigen doe ik dus met deze regel
Code:
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(3);
Iemand een oplossing voor dit probleem?