Enregistrer Html avec StreamProvider
Contents
[
Hide
]
Lors de la conversion de fichiers Excel contenant des images et des formes en fichiers HTML, nous sommes souvent confrontés aux deux problèmes suivants :
- Où devons-nous enregistrer les images et les formes lors de l’enregistrement du fichier Excel dans le flux HTML.
- Remplacez le chemin par défaut par un chemin excepté.
Cet article explique comment mettre en œuvreIStreamProvider interface de réglage duHtmlSaveOptions.StreamProvider la propriété. En implémentant cette interface, vous pourrez enregistrer les ressources créées lors de la génération HTML dans vos emplacements ou flux de mémoire spécifiques.
Ceci est le code principal montrant l’utilisation deHtmlSaveOptions.StreamProviderla propriété
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-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
string outputDir = dataDir + @"out\"; | |
// Create workbook | |
Workbook wb = new Workbook(dataDir + "sample.xlsx"); | |
HtmlSaveOptions options = new HtmlSaveOptions(); | |
options.StreamProvider = new ExportStreamProvider(outputDir); | |
// Save into .html using HtmlSaveOptions | |
wb.Save(dataDir + "output_out.html", options); |
Voici le code pourExportStreamProviderExportStreamProvider classe qui implémenteIStreamProviderinterface utilisée dans le code ci-dessus.
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-.NET | |
public class ExportStreamProvider : IStreamProvider | |
{ | |
private string outputDir; | |
public ExportStreamProvider(string dir) | |
{ | |
outputDir = dir; | |
} | |
public void InitStream(StreamProviderOptions options) | |
{ | |
string path = outputDir + Path.GetFileName(options.DefaultPath); | |
options.CustomPath = path; | |
Directory.CreateDirectory(Path.GetDirectoryName(path)); | |
options.Stream = File.Create(path); | |
} | |
public void CloseStream(StreamProviderOptions options) | |
{ | |
if (options != null && options.Stream != null) | |
{ | |
options.Stream.Close(); | |
} | |
} | |
} |