Selbstständige Durchsuchen von Excel- Files

jokybordaux

Mitglied
hi!

Ich hab eine Frage, und zwar möchte ich einen bestimmten Ordner aufmachen und dann soll das Programm selbstständig durch alle vorhandenen Excel- Files gehen und nach bestimmten Daten darin suchen. Die bestimmten Daten befinden sich in einem anderem Excel- File. Er soll Zeile für Zeile durchgehen und schaun, ob diese Daten doppelt vorkommen. Wenn ja, wird bei einer Spalte mit dem Namen Zähler gezählt, wie oft diese in allen durchsuchten Excel- Files vorgekommen sind.

Der Zähler ist nicht das Problem, den hab ich schon, aber das selbstständige durchsuchen aller Excel- Files macht mir Kopfschmerzen.
Wie mach ich das am Besten?!

lg Tina
 
Ich hab mir die 2 Sachen angesehen, was mir aufgefallen ist, ist dass er nur bestimmte Files in einem Ordner herausfindet, z.B.: alle die mit einem "c" anfangen.
Aber die Antwort, wie man das macht, dass er durch alle vorhandenen Projekte flitzt und die nach bestimmten Sachen durchsucht, ist nicht dabei.

lg Tina
 
Check ich net.

Willst du, dass nur Dateien mit einem beginnenden "c" gefunden werden, oder ist das derzeit der Fall?

Mit GetFiles kannst du alle Dateien zurückgegeben lassen (passiert standard-mäßig). Des weiteren kannst aber auch noch ein Suchpattern angeben (zum Beispiel *.xls).

Somit solltest du nun wissen wie du zu deinen Projekten kommst. Die Projekte öffnen und bearbeiten musst dann schon selber, da wird dir auch niemand helfen können, da ja niemand deine Projektfiles kennt.
 
So jetzt steh ich auf der Leitung.

Ich habe einen Ordner auf C, wo einige Excel- Files drinnen sind. Zu dem Ordner hinkommen ist kein Problem.
Das Problem, das ich habe ist, dass ich die Syntax nicht weiß, wie er selbstständig nach der Reihe ein File aufmacht, durchsucht, wieder schließt, zum nächsten File geht und dasselbe wieder macht. Bis er alle Files im Ordner durchsucht hat.

lg Tina
 
Bei dem Link, den du mir geschrieben hast muss ich jedes einzelne File, mittels OpenFileDialoge selbst öffnen. Und genau das will ich nicht. Das hab ich nämlich bis jetzt in meinem Programm.

Im Endeffekt soll die Form nur ein Label ("Daten suchen") und einen Button ("Suchen") haben. Das Programm soll dann selbstständig in den Ordner mit den Files gehen z.B.: "C:\Dokumente und Einstellungen\Müller\Desktop\Auer Admin\Dat" und gleichzeitig das erste XLS- File öffnen, durchsuchen und schließen. Nach dem Schließen soll das Programm selbstständig, ohne, dass ich ihm das sage, ins nächste XLS- File gehen, durchsuchen und schließen. Solange, bis keine XLS- Files mehr da sind.

Das Programm ist zur Wartung gedacht. Ich habe bis zu 10.000 Materialien, die gewartet werden müssen. Und das ist unmöglich per Hand zu machen. Deswegen will ich mit diesem Programm herausfinden, welche Materialien am häufigsten verwendet werden.
Deswegen muss ich alle Projekte durchgehen und schaun, welche Materialien vorhanden sind. Um die Häufigkeit zu sehen, wird in einem sepearten Excel- File mittels einer Spalte Zähler mitgezählt. Wenn alle Projekte durchsucht worden sind, kann ich sehen, welche von den 10.000 Materialien wirklich benötigt werden und ich warten muss.

lg Tina
 
Sorry, aber wie wärs wenn du meine Posts in Beziehung zueinander setzt?

Ich hab dir gepostet, wie du die Files herausfinden kannst und wo du dir das angucken kannst. Danach hab ich dir gezeigt, wie du Excel-Dateien öffnen kannst. Ersetz halt den OpenFileDialog mit den Dateien die dir GetFiles() zurückliefert.

Eine fix fertige Lösung für dein Problem gibt es nicht .. musst dich schon ein bisserl anstrengen und nachdenken.
 
Wenn ich Ahnung hätte, würd ich das auch tun, aber ich hab keine.
Ich muss mir das besch****** Programm selbst beibringen.
Es kann halt keiner so ein "Profi" sein, wie du.
 
Das hat mit Profi sein oder nicht wenig zu tun. Du hast alle notwendigen Informationen - damit sollte es schaffbar sein. Eine Programmiersprache muss man sich selbst beibringen. Man kann auch net von anderen erwarten, dass sie einem den Source nachwerfen.

Daraus resultieren 2 Punkte für dich:
1. Lernen Informationen zu verstehen und zu kombinieren
2. Die Programmiersprache erlernen.

Und untenstehend hast deinen Sourcecode. Getestet ist er nicht. Kompilieren tut er. Auf deine Bedürfnisse musst ihn halt auch noch anpassen, weil ich ja net weiß was genau du damit dann tun willst.

Das Arbeiten des Excel-Files passiert hier über ein DataSet, ergo solltest dir die DataSets genauer angucken, wie man damit arbeitet und was man damit alles tun kann. Diese Variante hat den Vorteil, dass du nicht im Hintergrund eine Excel-Instanz öffnen musst.
Code:
private ArrayList alfiles;

private void ReadXlsFiles(string path) 
{
	if (Directory.Exists(path) )
	{
		string[] files = Directory.GetFiles(path, "*.xls");
		foreach (string file in files) 
		{
			alfiles.Add(file);
		}
		string[] dirs = Directory.GetDirectories(path);
		foreach (string dir in dirs) 
		{
			ReadXlsFiles(dir);
		}
	}
}

private void OpenXls(string filename) 
{
	string sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filename + ";Extended Properties=Excel 8.0;";

	OleDbConnection objConn = new OleDbConnection(sConnectionString);

	objConn.Open();

	OleDbCommand objCmdSelect =new OleDbCommand("SELECT * FROM Sheetname", objConn);

	OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();

	objAdapter1.SelectCommand = objCmdSelect;

	DataSet objDataset1 = new DataSet();

	objAdapter1.Fill(objDataset1);

	objConn.Close(); 
}

private void button1_Click(object sender, System.EventArgs e)
{

	string startPath = "C:\\temp";
	alfiles = new ArrayList();

	ReadXlsFiles(startPath);

        if (alfiles.Count > 0) 
	{
		foreach (string s in alfiles) 
		{
			OpenXls(s);
		}
	}
}
 

Neue Beiträge

Zurück