Speichern Sie HTML mit StreamProvider
Contents
[
Hide
]
Beim Konvertieren von Excel-Feldern, die Bilder und Formen enthalten, in HTML-Dateien treten häufig die folgenden zwei Probleme auf:
- Wo sollen wir die Bilder und Formen speichern, wenn wir eine Excel-Datei im HTML-Stream speichern?
- Ersetzen Sie den Standardpfad durch den ausgenommenen Pfad.
In diesem Artikel wird die Implementierung erläutertIStreamProvider Schnittstelle zum Einstellen derHtmlSaveOptions.StreamProvider Eigentum. Durch die Implementierung dieser Schnittstelle können Sie die während der HTML-Generierung erstellten Ressourcen an Ihren spezifischen Speicherorten oder Speicherströmen speichern.
Beispielcode
Dies ist der Hauptcode, der die Verwendung von zeigtHtmlSaveOptions.StreamProviderEigentum
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
String dataDir = Utils.getDataDir(HtmlSaveOptions.class); | |
Workbook wb = new Workbook(dataDir + "sample.xlsx"); | |
HtmlSaveOptions options = new HtmlSaveOptions(); | |
options.setStreamProvider(new ExportStreamProvider(dataDir)); | |
wb.save(dataDir + "out.html", options); |
Hier ist der Code fürExportStreamProvider Klasse, die implementiertIStreamProviderSchnittstelle, die im obigen Code verwendet wird.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
public class ExportStreamProvider implements IStreamProvider { | |
private String outputDir; | |
public ExportStreamProvider(String dir) { | |
outputDir = dir; | |
System.out.println(outputDir); | |
} | |
@Override | |
public void closeStream(StreamProviderOptions options) throws Exception { | |
if (options != null && options.getStream() != null) { | |
options.getStream().close(); | |
} | |
} | |
@Override | |
public void initStream(StreamProviderOptions options) throws Exception { | |
System.out.println(options.getDefaultPath()); | |
File file = new File(outputDir); | |
if (!file.exists() && !file.isDirectory()) { | |
file.mkdirs(); | |
} | |
String defaultPath = options.getDefaultPath(); | |
String path = outputDir + defaultPath.substring(defaultPath.lastIndexOf("/") + 1); | |
options.setCustomPath(path); | |
options.setStream(new FileOutputStream(path)); | |
} | |
} | |