Excel Tabelle auslesen
-
hi,wie kann ich eine Excel Tabelle mit C++ und Winapi auslesen, Text ändern und wieder speichern?
Wie schaut das in c# aus, kann ich es dort auch machen?
gruss
-
Du kannst entweder das File direkt interpretieren, Deine Änderungen vornehmen und dann wieder speichern ( das geht dann ohne installiertes Excel ) oder die Excel / Office Automatisierung bemühen ( dann muß halt Excel installiert sein ).
Beides sollte mit C# und .NET Framework funktionieren.Für ersteres gibt es die Beschreibung des XLS-Formats z.B. hier:
http://www.wotsit.org/search.asp?page=2&s=databaseFür letzteres befindet sich eine Dokumentation der Excel Automatisierung in der MSDN:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbaxl11/html/Welcome_HV01134775.aspDie Programmierung von COM Automatierungsobjekten mit C# ( CLR ) findest Du ebenfalls in der MSDN:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/callcomcomp.aspVielleicht hilft dir der eine oder andere Link weiter.
-
kann mir das jemand auch für winapi erklären?
-
Das Windows API stellt hierfür keine Funktionen zur Verfügung. Es gibt keine Funktion wie OpenExcelSheet oder ähnliches.
Du musst das schon selbst machen.

Entweder Du liest die XLS-Datei selbst ein ( z.B. mit CreateFile, ReadFile o.ä ) und interpretierst die Daten entsprechend dem Dateiformat oder du verwendest Excel mit seiner Automatisierungsschnittstelle um die Daten zu bearbeiten. Hier musst du Dich mit COM ( und Automatisierung im speziellen ) beschäftigen. Excel hat ein ziemlich mächtiges Objektmodell mit dem du so ziemlich alles machen kannst.
Die Automatisierung von Excel zu programmieren halte ich für den sinnvolleren Weg, da man hier von den Assistenten des Developer Studios unterstützt wird und es fast wie VBA Programmierung ist in Excel. Entsprechende Dokumentation findest du in der MSDN.
-
nimm auf keinen fall den ersten weg. das machen nur hacker.
-
nimm auf keinen fall den ersten weg. das machen nur hacker.
Und Entwicklungen, die das File einlesen wollen ohne das Excel installiert ist. Z.b. OpenOffice / StarOffice und die anderen Office Suiten.

Im Ernst:
Wie sonst soll sonst unter Linux ein XLS-File geladen werden ?Die Frage ist woher ich die Beschreibung des Dateiformates erhalte. Normalerweise von Microsoft ( wenn überhaupt ). Dort muß aber ein "Non disclosure agreement" vereinbart werden.
Für Privatzwecke tuts auch www.wotsit.org oder eines der vielen Bücher über Dateiformate ( ISBN: 3934358837 ).
-
Achso da gibts auch was offizielles von Microsoft? Na dann ist es ja halb so schlimm.
