توفير مسار ملف HTML لورقة العمل المصدرة عبر واجهة IFilePathProvider

سيناريوهات الاستخدام المحتملة

فرضاً، لديك ملف إكسل يحتوي على عدة صفحات وترغب في تصدير كل صفحة إلى ملف HTML فردي. إذا كانت أيًا من صفحاتك تحتوي على روابط إلى صفحات أخرى، فيمكن أن تكون هذه الروابط مكسورة في HTML المصدر. للتعامل مع هذه المشكلة، يوفر Aspose.Cells واجهة IFilePathProvider التي يمكنك تنفيذها لإصلاح الروابط المكسورة.

توفير مسار ملف HTML لواجهة IFilePathProvider

يرجى تنزيل ملف إكسل عينة المستخدم في الكود التالي وملفاته الـ HTML المصدرة. جميع هذه الملفات داخل دليل Temp. يجب استخراجها في محرك الأقراص C: ثم ستصبح في مجلد C:\Temp. ستقوم بفتح ملف Sheet1.html في المتصفح والنقر على الرابطين بداخله. هذه الروابط تشير إلى صفحات العمل الـ HTML المصدرة والتي توجد داخل مجلد C:\Temp\OtherSheets.

 file:///C:/Temp/OtherSheets/Sheet2.html#RANGE!A1

file:///C:/Temp/OtherSheets/Sheet3.html#RANGE!A1

توضح اللقطة المصغرة التالية كيفية ظهور ملف C:\Temp\Sheet1.html وروابطه

todo:image_alt_text

توضح اللقطة المصغرة التالية المصدر HTML. كما يمكنك رؤية أن الروابط الآن تشير إلى مجلد C:\Temp\OtherSheets. تم تحقيق ذلك باستخدام واجهة IFilePathProvider.

todo:image_alt_text

الكود المثالي

يرجى ملاحظة أن مجلد C:\Temp مجرد لأغراض التوضيح. يمكنك استخدام أي مجلد من اختيارك ووضع ملف إكسل عينة داخله وتنفيذ الكود العينة المقدم. سيقوم بتكوين مجلد فرعي OtherSheets داخل مجلد الخيار الخاص بك وتصدير صفحات العمل الـ HTML الثانية والثالثة داخله. يرجى تغيير متغير dirPath داخل الكود المقدم والإشارة إليه في المجلد الذي تختاره قبل التنفيذ.

يرجى ملاحظة أن تعليق هذه الأسطر داخل الكود سيعطل الروابط في Sheet1.html وSheet2.html أو لن يتم في هذه الحالة فتح Sheet3.html عند النقر على الروابط داخل Sheet1.html

 //If you will comment this line, then hyperlinks will be broken

options.setFilePathProvider(new FilePathProvider());

إليك الكود العينة الكامل الذي يمكنك تنفيذه مع ملف إكسل عينة المقدم.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getDataDir(OpeningFilesThroughPath.class);
// Opening from path. Creating an Workbook object with an Excel file path
Workbook workbook1 = new Workbook(dataDir + "Book1.xlsx");
// Print message
System.out.println("Workbook opened using path successfully.");
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
public class FilePathProvider {
// Gets the full path of the file by worksheet name when exporting worksheet to html separately.
// So the references among the worksheets could be exported correctly.
public String getFullName(String sheetName) {
String dataDir = Utils.getDataDir(FilePathProvider.class);
if ("Sheet2".equals(sheetName)) {
return dataDir + "Sheet2.html";
} else if ("Sheet3".equals(sheetName)) {
return dataDir + "Sheet3.html";
}
return "";
}
}