Wie Speichere ich Bilder aus Excel ohne Verwendung der Zwischenablage, in C#?

Habe ich in diese sah ziemlich umfangreich, aber noch nicht gefunden, ganz das, was ich Suche. Die zwei Methoden die ich gefunden habe, sind

1: Verwenden der Microsoft.Office.Interop.Excel, Durchlaufen Sie die Arbeitsmappe Formen, dann kopieren Sie die Bilder in die Zwischenablage und nehmen Sie dann die Daten in der Zwischenablage und legte es in eine bitmap, die dann endlich speichern Sie die bitmap. Das problem mit dieser Methode ist die Zwischenablage. Wir möchten, dass diese verwendet werden, in einer multi-threaded Umgebung und Angst der Zwischenablage Probleme zwischen threads. Wir würden eher nicht deal mit Zwischenablage-Verriegelung.

2: Speichern Sie die Datei als eine .HTML-Datei, dann greifen die Bilder aus dem "files" Ordner erstellt, wo das Dokument gespeichert wird. Das problem dabei ist, dass zwei Bilder erstellt, für jedes Bild (1 high-res, 1 low-res), und es ist kein guter Weg, um zu bestimmen, welche Bilder niedriger Auflösung und die Bilder hoher Auflösung, wie Sie benannt sind Bild### und einige Dateien der Liste hoch, niedrig, hoch, niedrig, während einige der Liste hoch, hoch, niedrig, niedrig. Wenn man alle diese Dateien ist sehr langsam und nimmt Platz, das ist nicht ideal. Ich könnte prüfen, Bilder von Seitenverhältnisse, aber das ist natürlich nicht toll, weil mehrere Bilder könnte das gleiche Seitenverhältnis.

Gibt es eine Möglichkeit zum analysieren von Excel.Form direkt als bitmap (oder eine beliebige Bild-format) ohne Verwendung der Zwischenablage? Wie es scheint, muss es eine Möglichkeit geben, weil die Form.CopyPicture-Methode ist in der Lage, es zu senden, in die Zwischenablage in ein Bild-format.
Ansonsten, gibt es eine Möglichkeit, etwas ähnliches zu tun zu Nummer 2 ohne Duplikate? Ich würde es vorziehen, eine Lösung, die vermeidet, dass mit 3rd-party-Bibliotheken.

Danke.

Schreibe einen Kommentar