3 Stimmen

Wie erstellt man ein Excel-Arbeitsblatt mit VB6 ohne das Excel-Objekt?

Ich wurde vor kurzem mit der Aktualisierung einer VB6-Datenerfassungs-App beauftragt, um die Möglichkeit hinzuzufügen, Excel-Berichte zu erstellen und sie über die App zu drucken (beides muss auf demselben Computer erfolgen). Normalerweise wäre das kein Problem, ich habe Excel-Berichte mit VB6 erstellt, bevor ich das Excel-Objekt verwendet habe.

Ich habe also die Änderungen programmiert und präsentiert, und dann wurde mir gesagt, dass auf dem Rechner, auf dem das Programm installiert werden soll, keine vollständige Excel-Kopie vorhanden ist und ich mir eine andere Lösung ausdenken muss.

Ich habe versucht, Dateien mit Trennzeichen (Komma oder Text) zu erstellen, aber wenn diese Dateien mit Excel geöffnet werden, werden sie nicht richtig formatiert, d. h. wenn eine Zelle 20 Zeichen hat, wird die Hälfte der Zeichen aufgrund der festen Zellgröße abgeschnitten.

Ich habe noch ein paar Ideen:

1) Ich weiß, dass Openoffice eine API hat. Kann diese API verwendet werden, um eine richtig formatierte Excel-Datei zu erzeugen? Gibt es ein COM-Objekt, das ich verwenden kann?

2) Ich habe dieses Tool gefunden: http://www.carlosag.net/Tools/ExcelXmlWriter/ Es wurde jedoch in VB.NET geschrieben. Kann ich dieses Tool auch in VB6 verwenden?

Ich bin wirklich ratlos und weiß nicht, in welche Richtung ich als nächstes gehen soll. Hat jemand eine Idee bezüglich der oben genannten Utensilien? Ich bin auch offen für alle anderen Vorschläge/ bessere Methoden. Alles, was mir bei der Bewältigung dieser Aufgabe helfen könnte, wäre mir sehr willkommen!

HINWEIS: Die Excel-Version, die zum Anzeigen dieser Berichte verwendet wird, ist Excel 2007

0voto

NileshChauhan Punkte 5331

Prüfen Sie dies: http://support.microsoft.com/default.aspx?scid=kb;en-us;Q271572

Gehen Sie genauso vor und speichern Sie die Datei stattdessen mit der Erweiterung .xls.

Alternativ können Sie auch HTML-Tabelleninhalte erstellen und diese in eine Datei mit der Erweiterung xls schreiben.

0voto

Das Erstellen einer SpreadsheetML-Datei aus VB6 sollte sehr einfach sein. Es ist nur eine Textdatei, die eine bestimmte Art von XML enthält. Ich glaube, Sie können alle Dokumente für SpreadsheetML und WordML von MSDN erhalten.

Ich produziere derzeit rund 60 verschiedene benutzerdefinierte Berichte aus einer vb.net-Anwendung mit SpreadsheetML. Es gibt mindestens ein potenzielles Problem aufgrund der Änderungen bei den Dateierweiterungen und der Dokumentensicherheit, die in Excel 2007 eingeführt wurden. Wenn Sie eine SpreadsheetML-basierte Excel-Datei erzeugen und die Erweiterung .xls verwenden, lässt sie sich problemlos in 2003 öffnen. In Excel 2007 wird ein Dialogfeld angezeigt, in dem Sie darauf hingewiesen werden, dass die Dateierweiterung nicht mit dem Inhalt der Datei übereinstimmt. Nach dieser Warnung wird die Datei korrekt geöffnet und angezeigt. Wenn Sie die Dateierweiterung des SpreadsheetML-Dokuments in .xml ändern, wird es von Excel 2007 ohne Beanstandung geöffnet. Auf Computern, auf denen Excel 2003 ausgeführt wird, werden Ihre xml-basierten Tabellenkalkulationen jedoch möglicherweise im IE geöffnet.

0voto

Thunder Punkte 9735

Ich benutze NPOI Es verwendet keine Excel-Bibliothek und gibt die Daten im Excel 2003-Format aus.

0voto

Mike D Punkte 159

Auch ich würde mich für die CSV-Option entscheiden. Es ist keine DLL oder ein anderes Objekt erforderlich. Ein Vorbehalt ist, dass Sie SEHR vorsichtig sein müssen, was die Formatierung Ihrer Zahlen angeht, denn ein Wert von 1.024,00 würde zwei Spalten erzeugen und die gesamte Arbeitsmappe sprengen.

-1voto

darudude Punkte 531

Ich habe eine Lösung gefunden:

Ich habe eine DLL gefunden, die zum Erstellen und Drucken von Excel-Tabellen verwendet werden kann. Ich denke, es ist das gleiche wie der XML-Writer, aber für VB6.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X