Salva Html con StreamProvider
Quando si convertono file excel che contengono immagini e forme in file HTML, ci troviamo spesso di fronte ai seguenti due problemi:
- Dove dovremmo salvare le immagini e le forme durante il salvataggio del file excel in formato html.
- Sostituire il percorso predefinito con il percorso accettato.
Questo articolo spiega come implementare l’interfaccia IStreamProvider per impostare la proprietà HtmlSaveOptions.StreamProvider. Implementando questa interfaccia, sarai in grado di salvare le risorse create durante la generazione di HTML in posizioni specifiche o flussi di memoria.
Questo è il codice principale che mostra l’uso della proprietà HtmlSaveOptions.StreamProvider.
// 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); |
Ecco il codice per la classe ExportStreamProvider che implementa l’interfaccia IStreamProvider utilizzata nel codice sopra.
// 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(); | |
} | |
} | |
} |