Guardar HTML con StreamProvider
Contents
[
Hide
]
Al convertir campos de Excel que contienen imágenes y formas en archivos html, a menudo nos enfrentamos a los siguientes dos problemas:
- ¿Dónde debemos guardar las imágenes y las formas al guardar el archivo de Excel en la transmisión html?
- Reemplace la ruta predeterminada con la ruta exceptuada.
Este artículo explica cómo implementarIStreamProvider interfaz para configurar elHtmlSaveOptions.StreamProvider propiedad. Al implementar esta interfaz, podrá guardar los recursos creados durante la generación HTML en sus ubicaciones o flujos de memoria específicos.
Este es el código principal que muestra el uso deHtmlSaveOptions.StreamProviderpropiedad
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); |
Aquí está el código paraExportStreamProviderExportStreamProvider clase que implementaIStreamProviderinterfaz utilizada dentro del código anterior.
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(); | |
} | |
} | |
} |