احفظ Html مع StreamProvider
Contents
[
Hide
]
عند تحويل ملفات Excel التي تحتوي على صور وأشكال إلى ملفات html ، فإننا نواجه المسألتين التاليتين:
- أين يجب أن نحفظ الصور والأشكال عند حفظ ملف Excel في دفق html.
- استبدل المسار الافتراضي بالمسار المستثنى.
تشرح هذه المقالة كيفية التنفيذIStreamProvider واجهة لتعيينHtmlSaveOptions.StreamProvider خاصية. من خلال تنفيذ هذه الواجهة ، ستتمكن من حفظ الموارد التي تم إنشاؤها أثناء توليد HTML في مواقعك المحددة أو تدفقات الذاكرة.
عينة من الرموز
هذا هو الكود الرئيسي الذي يوضح استخدامHtmlSaveOptions.StreamProviderخاصية
This file contains hidden or 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); |
هنا هو رمزExportStreamProvider الطبقة التي تنفذIStreamProviderالواجهة المستخدمة داخل الكود أعلاه.
This file contains hidden or 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)); | |
} | |
} | |