Dynamiske arrays
Hej Alle sammenNu har jeg de sidste par timer forsøgt, at indlæse en csv fil fra Excel vha. 2 ArrayLists. Jeg nemlig ikke hvor mange linjer, og hvor mange elementer i linjen, der er.
Så det skal være dynamisk i begge retninger.
Koden virker ikke lige nu, men det problem, som jeg ikke kan komme uden om er at det kun er den sidste linje, jeg kan tilgå i ArrayListen.
Jeg har sat kaffe over, for jeg vil meget gerne have dette op at køre inden jeg går i seng.
Mvh.
Jens
private void button1_Click(object sender, System.EventArgs e)
{
//Indeholder en linje, som streng.
string linje ="";
//Element indeholder et element i linjen
string element ="";
//elementer indeholder elementerne i en linje.
ArrayList elementer = new ArrayList();
//Linjer, indeholder alle linjer.
ArrayList Linjer = new ArrayList();
try
{
//Indlæser fil i string
StreamReader Fil = new StreamReader("testfil.csv");
//Læser filen.
while(Fil.Peek() > -1)
{
linje= Fil.ReadLine();
foreach(char bogstav in linje)
{
if (bogstav == ';')
{
elementer.Add(element);
element = "";
}
else
{
element+= bogstav;
}
}
//Tilføjer det sidste element, da denne ikke efterfølges af et ";".
elementer.Add(element);
//Tilføjer elementerne i linjen til Linjer.
Linjer.Add(elementer);
//Blanker elementer.
elementer.Clear();
}
//Lukker filen efter brug.
Fil.Close();
}
catch (Exception Exc)
{
MessageBox.Show ("Problemer med at læse filen \n"+ Exc.ToString(), "Fil fejl",
MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk);
}
foreach(ArrayList EnkeltLinje in Linjer)
{
foreach(string ElementILinje in EnkeltLinje)
{
MessageBox.Show (ElementILinje, "Arraylist debug",
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
