فتح الملفات بتنسيقات مختلفة
يستخدم المطورون Aspose.Cells لفتح الملفات لأغراض مختلفة. على سبيل المثال، فتح ملف لاسترداد البيانات منه، أو استخدام ملف جدول بيانات محدد مُعرف مسبقًا لتسريع عملية التطوير الخاصة بك. يسمح Aspose.Cells للمطورين بفتح أنواع مختلفة من ملفات المصدر. يمكن أن تكون هذه الملفات ملفات تقارير Microsoft Excel، SpreadsheetML، قيم مفصولة بالفواصل (CSV)، ملفات قيم مفصولة بعلامات التبويب (TSV) أو ملفات قيم مفصولة بتنسيق الجدول (Tab Delimited). يناقش هذا المقال فتح هذه الملفات المصدرية المختلفة باستخدام Aspose.Cells.
إذا كنت بحاجة إلى معرفة جميع تنسيقات الملفات المدعومة، يرجى الرجوع إلى الصفحات التالية: صيغ الملفات المدعومة
طرق بسيطة لفتح ملفات Excel
الفتح عبر المسار
لفتح ملف Microsoft Excel باستخدام مسار الملف، يمكنك تمرير مسار الملف كمعلمة أثناء إنشاء مثيل الفئة Workbook. يوضح الكود العيني التالي فتح ملف Excel باستخدام مسار الملف.
مثال
// 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.getSharedDataDir(OpeningFilesThroughPath.class) + "files/"; | |
// 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."); |
الفتح عبر التيار
في بعض الأحيان، يتم تخزين ملف Excel الذي تريد فتحه كتيار. في هذه الحالة، مماثلة لفتح ملف باستخدام مسار الملف، يمكنك تمرير التيار كمعلمة أثناء إنشاء مثيل الفئة Workbook. يوضح الكود العيني التالي فتح ملف Excel باستخدام التيار.
مثال
// 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.getSharedDataDir(OpeningFilesThroughStream.class) + "loading_saving/"; | |
// Opening workbook from stream | |
// Create a Stream object | |
FileInputStream fstream = new FileInputStream(dataDir + "Book2.xls"); | |
// Creating an Workbook object with the stream object | |
Workbook workbook2 = new Workbook(fstream); | |
fstream.close(); | |
// Print message | |
System.out.println("Workbook opened using stream successfully."); |
فتح ملفات إصدارات Microsoft Excel المختلفة
يمكن للمستخدم استخدام فئة LoadOptions لتحديد شكل ملف Excel باستخدام تعداد LoadFormat.
تحتوي فئة LoadFormat على العديد من تنسيقات الملفات المحددة مسبقًا بعضها مذكور أدناه.
أنواع التنسيق | الوصف |
---|---|
Csv | يمثل ملف CSV |
Excel97To2003 | يمثل ملف Excel 97-2003 |
Xlsx | يمثل ملف Excel 2007/2010/2013/2016/2019 و Office 365 XLSX |
Xlsm | يمثل ملف Excel 2007/2010/2013/2016/2019 و Office 365 XLSM |
Xltx | يمثل ملف XLTX قالب Excel 2007/2010/2013/2016/2019 و Office 365 |
Xltm | يمثل ملف XLTM Excel 2007/2010/2013/2016/2019 و Office 365 القادر على تشغيل الماكرو |
Xlsb | يمثل ملف XLSB بتنسيق Excel 2007/2010/2013/2016/2019 و Office 365 |
SpreadsheetML | يمثل ملف SpreadsheetML |
Tsv | يمثل ملف بقيم مفصولة بواسطة علامة التبويب |
TabDelimited | يمثل ملف نصي بقيم مفصولة بواسطة علامة التبويب |
Ods | يمثل ملف ODS |
Html | يمثل ملف HTML |
Mhtml | يمثل ملف MHTML |
فتح ملفات Microsoft Excel 95/5.0
لفتح ملفات Microsoft Excel 95، قم بإنشاء مثيل Workbook مع مسار أو تيار الملف القالب. يمكن تحميل الملف العيني لاختبار الشيفرة من الرابط التالي:
مثال
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// Opening Microsoft Excel 97 Files | |
// Creating an EXCEL_97_TO_2003 LoadOptions object | |
// Creating an Workbook object with excel 97 file path and the | |
// loadOptions object | |
new Workbook(srcDir + "Excel95_5.0.xls"); |
فتح ملفات Microsoft Excel 97 أو إصدارات لاحقة من XLS
لفتح ملفات XLS لـ Microsoft Excel إصدار XLS 97 أو الإصدارات اللاحقة، قم بإنشاء مثيل Workbook مع مسار أو تيار الملف القالب. أو استخدم الطريقة LoadOptions وحدد قيمة EXCEL_97_TO_2003 في تعداد LoadFormat.
مثال
// 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.getSharedDataDir(OpeningMicrosoftExcel972003Files.class) + "loading_saving/"; | |
// Opening Microsoft Excel 97 Files | |
// Createing and EXCEL_97_TO_2003 LoadOptions object | |
LoadOptions loadOptions1 = new LoadOptions(LoadFormat.EXCEL_97_TO_2003); | |
// Creating an Workbook object with excel 97 file path and the | |
// loadOptions object | |
Workbook workbook3 = new Workbook(dataDir + "Book_Excel97_2003.xls", loadOptions1); | |
// Print message | |
System.out.println("Excel 97 Workbook opened successfully."); |
فتح ملفات Microsoft Excel 2007 أو إصدارات لاحقة من ملفات XLSX
لفتح ملفات XLSX لـ Microsoft Excel 2007 أو الإصدارات اللاحقة، قم بإنشاء مثيل Workbook مع مسار أو تيار الملف القالب. أو استخدم فئة LoadOptions وحدد قيمة XLSX في تعداد LoadFormat.
مثال
// 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.getSharedDataDir(OpeningMicrosoftExcel2007XlsxFiles.class) + "loading_saving/"; | |
// Opening Microsoft Excel 2007 XLSX Files. Createing and XLSX LoadOptions object | |
LoadOptions loadOptions2 = new LoadOptions(LoadFormat.XLSX); | |
// Creating an Workbook object with 2007 xlsx file path and the loadOptions object | |
Workbook workbook4 = new Workbook(dataDir + "Book_Excel2007.xlsx", loadOptions2); | |
// Print message | |
System.out.println("Excel 2007 Workbook opened successfully."); |
فتح الملفات بتنسيقات مختلفة
تُتيح Aspose.Cells للمطورين فتح ملفات جداول البيانات بتنسيقات مختلفة مثل SpreadsheetML، CSV، وملفات محددة بأدوات التبويب. لفتح مثل هذه الملفات، يمكن للمطورين استخدام نفس النهج الذي يستخدمونه لفتح ملفات إصدارات مختلفة من Microsoft Excel.
فتح ملفات SpreadsheetML
ملفات SpreadsheetML هي التمثيلات الخاصة باللغة تعريف الوسائط القابلة للتوسع (XML) لجداول البيانات الخاصة بك وتشمل جميع المعلومات حول جداول البيانات الخاصة بك مثل التنسيق، والصيغ، وما إلى ذلك. منذ Microsoft Excel XP، تمت إضافة خيار تصدير XML إلى Microsoft Excel الذي يصدر جداول بياناتك إلى ملفات SpreadsheetML.
لفتح ملفات SpreadsheetML، استخدم فئة LoadOptions وحدد القيمة SPREADSHEET_ML في تعداد LoadFormat.
مثال
// 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.getSharedDataDir(OpeningSpreadsheetMLFiles.class) + "loading_saving/"; | |
// Opening SpreadsheetML Files | |
// Creating and EXCEL_2003_XML LoadOptions object | |
LoadOptions loadOptions3 = new LoadOptions(LoadFormat.SPREADSHEET_ML); | |
// Creating an Workbook object with SpreadsheetML file path and the | |
// loadOptions object | |
Workbook workbook5 = new Workbook(dataDir + "Book3.xml", loadOptions3); | |
// Print message | |
System.out.println("SpreadSheetML format workbook has been opened successfully."); |
فتح ملفات CSV
تحتوي ملفات القيم المفصولة بفواصل (CSV) على سجلات يتم فصل قيمها أو تقسيمها بواسطة فواصل. في ملفات CSV، يتم تخزين البيانات في تنسيق جدولي يحتوي على حقول مفصولة بحرف الفاصلة ومحاطة بحرف الاقتباس المزدوج. إذا احتوت قيمة الحقل على حرف الاقتباس المزدوج فيجب تهريبها بزوج من أحرف الاقتباس المزدوج. يمكنك أيضًا استخدام Microsoft Excel لتصدير بيانات جدول البيانات الخاصة بك إلى ملف CSV.
لفتح ملفات CSV، استخدم فئة LoadOptions وحدد قيمة CSV المحددة مسبقًا في فئة التعداد LoadFormat.
مثال
// 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.getSharedDataDir(OpeningCSVFiles.class) + "loading_saving/"; | |
// Opening CSV Files | |
// Creating and CSV LoadOptions object | |
LoadOptions loadOptions4 = new LoadOptions(LoadFormat.CSV); | |
// Creating an Workbook object with CSV file path and the loadOptions | |
// object | |
Workbook workbook6 = new Workbook(dataDir + "Book_CSV.csv", loadOptions4); | |
// Print message | |
System.out.println("CSV format workbook has been opened successfully."); |
فتح ملفات CSV واستبدال الأحرف غير الصحيحة
في Excel، عند فتح ملف CSV مع أحرف خاصة، يتم استبدال الأحرف تلقائيًا. ويتم نفس الأمر بواسطة واجهة برمجة التطبيقات Aspose.Cells التي يتم توضيحها في المثال البرمجي المعطى أدناه.
مثال
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
//Source directory | |
String dataDir = Utils.getSharedDataDir(OpeningCSVFilesAndReplacingInvalidCharacters.class) + "LoadingSavingConvertingAndManaging/"; | |
LoadOptions loadOptions = new LoadOptions(LoadFormat.CSV); | |
//Load CSV file | |
Workbook workbook = new Workbook(dataDir + "[20180220142533][ASPOSE_CELLS_TEST].csv", loadOptions); | |
System.out.println(workbook.getWorksheets().get(0).getName()); // (20180220142533)(ASPOSE_CELLS_T | |
System.out.println(workbook.getWorksheets().get(0).getName().length()); // 31 | |
System.out.println("CSV file opened successfully!"); |
فتح ملفات CSV باستخدام محلل الجاري التفضيلي
غالبًا ما ليس من الضروري استخدام إعدادات محلل افتراضية لفتح ملفات CSV. في بعض الأحيان، قد لا ينتج استيراد ملف CSV الإخراج المتوقع مثل عدم تطابق تنسيق التاريخ المتوقع أو معالجة الحقول الفارغة بشكل مختلف. لهذا الغرض، تتاح فئة TxtLoadOptions.PreferredParsers لتوفير محلل مفضل لتوصيل مختلف أنواع البيانات حسب الحاجة. يوضح الكود عينة التالي استخدام المحلل المفضل.
يمكن تنزيل ملف الشفرة المصدري وملفات الإخراج التجريبية من الروابط التالية لاختبار هذه الميزة.
outputsamplePreferredParser.xlsx
مثال
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
class TextParser implements ICustomParser | |
{ | |
@Override | |
public Object parseObject(String s) { | |
return s; | |
} | |
@Override | |
public String getFormat() { | |
return ""; | |
} | |
} | |
class DateParser implements ICustomParser { | |
@Override | |
public Object parseObject(String s) { | |
Date myDate = null; | |
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); | |
try { | |
myDate = formatter.parse(s); | |
} catch (ParseException e) { | |
e.printStackTrace(); | |
} | |
return myDate; | |
} | |
@Override | |
public String getFormat() { | |
return "dd/MM/yyyy"; | |
} | |
} | |
public class OpeningCSVFilesWithPreferredParser { | |
//Source directory | |
private static String sourceDir = Utils.Get_SourceDirectory(); | |
private static String outputDir = Utils.Get_OutputDirectory(); | |
public static void main(String[] args) throws Exception { | |
// Initialize Text File's Load options | |
TxtLoadOptions oTxtLoadOptions = new TxtLoadOptions(LoadFormat.CSV); | |
// Specify the separatot character | |
oTxtLoadOptions.setSeparator(','); | |
// Specify the encoding scheme | |
oTxtLoadOptions.setEncoding(Encoding.getUTF8()); | |
// Set the flag to true for converting datetime data | |
oTxtLoadOptions.setConvertDateTimeData(true); | |
// Set the preferred parsers | |
oTxtLoadOptions.setPreferredParsers(new ICustomParser[] { new TextParser(), new DateParser() }); | |
// Initialize the workbook object by passing CSV file and text load options | |
Workbook oExcelWorkBook = new Workbook(sourceDir + "samplePreferredParser.csv", oTxtLoadOptions); | |
// Get the first cell | |
Cell oCell = oExcelWorkBook.getWorksheets().get(0).getCells().get("A1"); | |
// Display type of value | |
System.out.println("A1: " + getCellType(oCell.getType()) + " - " + oCell.getDisplayStringValue()); | |
// Get the second cell | |
oCell = oExcelWorkBook.getWorksheets().get(0).getCells().get("B1"); | |
// Display type of value | |
System.out.println("B1: " + getCellType(oCell.getType()) + " - " + oCell.getDisplayStringValue()); | |
// Save the workbook to disc | |
oExcelWorkBook.save(outputDir + "outputsamplePreferredParser.xlsx"); | |
System.out.println("OpeningCSVFilesWithPreferredParser executed successfully.\r\n"); | |
} | |
private static String getCellType(int type){ | |
if(type == CellValueType.IS_STRING){ | |
return "String"; | |
} else if(type == CellValueType.IS_NUMERIC){ | |
return "Numeric"; | |
} else if(type == CellValueType.IS_BOOL){ | |
return "Bool"; | |
} else if(type == CellValueType.IS_DATE_TIME){ | |
return "Date"; | |
} else if(type == CellValueType.IS_NULL){ | |
return "Null"; | |
} else if(type == CellValueType.IS_ERROR){ | |
return "Error"; | |
} else{ | |
return "Unknown"; | |
} | |
} |
فتح ملفات TSV (مفصولة بالألسنة)
تحتوي ملفات TSV على بيانات جدولية ولكن بدون أي تنسيق. يتم ترتيب البيانات في صفوف وأعمدة مثل الجداول وأوراق العمل. بإيجاز، ملف TSV هو نوع خاص من ملف نصي عادي مع علامة تبويب بين كل عمود في النص.
لفتح ملفات مقسمة بواسطة العلامات، يجب على المطورين استخدام الفئة LoadOptions وحدد القيمة TSV المحددة مسبقًا في فئة التعداد LoadFormat.
مثال
// 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.getSharedDataDir(OpeningTabDelimitedFiles.class) + "loading_saving/"; | |
// Creating and TAB_DELIMITED LoadOptions object | |
LoadOptions loadOptions5 = new LoadOptions(LoadFormat.TSV); | |
// Creating an Workbook object with Tab Delimited text file path and the | |
// loadOptions object | |
Workbook workbook7 = new Workbook(dataDir + "Book1TabDelimited.txt", loadOptions5); | |
// Print message | |
System.out.println("Tab Delimited workbook has been opened successfully."); |
فتح ملفات إكسل المشفرة
نحن نعلم أنه من الممكن إنشاء ملفات Excel مشفرة باستخدام Microsoft Excel. لفتح ملفات المشفرة مثل هذه، يجب على المطورين استدعاء طريقة محددة محملة بالمعلومات وتحديد القيمة الافتراضية، المحددة مسبقًا في تعداد أنواع ملفات البيانات. كما سيتم أيضًا أخذ كلمة المرور للملف المشفر كما هو موضح في المثال أدناه.
مثال
// 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.getSharedDataDir(OpeningEncryptedExcelFiles.class) + "loading_saving/"; | |
// Opening Encrypted Excel Files | |
// Creating and EXCEL_97_TO_2003 LoadOptions object | |
LoadOptions loadOptions6 = new LoadOptions(LoadFormat.EXCEL_97_TO_2003); | |
// Setting the password for the encrypted Excel file | |
loadOptions6.setPassword("1234"); | |
// Creating an Workbook object with file path and the loadOptions object | |
Workbook workbook8 = new Workbook(dataDir + "encryptedBook.xls", loadOptions6); | |
// Print message | |
System.out.println("Encrypted workbook has been opened successfully."); |
تدعم Aspose.Cells أيضًا فتح ملفات MS Excel 2013 المحمية بكلمة مرور.
فتح ملفات SXC
StarOffice Calc مماثل لـ Microsoft Excel ويدعم الصيغ والرسوم البيانية والوظائف والتوابع والماكرو. الجداول التي تم إنشاؤها باستخدام هذا البرنامج يتم حفظها بامتداد SXC.يُستخدم ملف SXC أيضاً لملفات جدول البيانات في OpenOffice.org Calc. يمكن لـ Aspose.Cells قراءة ملفات SXC كما هو موضح في الكود العيني التالي.
مثال
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the source directory. | |
String sourceDir = Utils.Get_SourceDirectory(); | |
// Instantiate LoadOptions specified by the LoadFormat. | |
LoadOptions loadOptions = new LoadOptions(LoadFormat.SXC); | |
// Create a Workbook object and opening the file from its path | |
Workbook workbook = new Workbook(sourceDir + "SampleSXC.sxc", loadOptions); | |
// Using the Sheet 1 in Workbook | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
// Accessing a cell using its name | |
Cell cell = worksheet.getCells().get("C3"); | |
System.out.println("Cell Name: " + cell.getName() + " Value: " + cell.getStringValue()); |
فتح ملفات FODS
ملف FODS هو جدول بيانات يتم حفظه في تنسيق OpenDocument XML دون أي ضغط. يمكن لـ Aspose.Cells قراءة ملفات FODS كما هو موضح في الكود العيني التالي.
مثال
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the source directory. | |
String sourceDir = Utils.Get_SourceDirectory(); | |
// Instantiate LoadOptions specified by the LoadFormat. | |
LoadOptions loadOptions = new LoadOptions(LoadFormat.FODS); | |
// Create a Workbook object and opening the file from its path | |
Workbook workbook = new Workbook(sourceDir + "SampleFods.fods", loadOptions); | |
// Print message | |
System.out.println("FODS file opened successfully!"); |
مواضيع متقدمة
- تصفية أسماء محددة أثناء تحميل المصنف
- تصفية الكائنات أثناء تحميل مصنف العمل أو ورقة العمل
- الحصول على تحذيرات أثناء تحميل ملف إكسل
- الاحتفاظ بالفواصل للصفوف الفارغة أثناء تصدير جداول البيانات إلى تنسيق CSV
- تحميل الدفتر بحجم ورقة الطابعة المحدد
- فتح ملفات Microsoft Excel مختلفة الإصدارات
- تحسين استخدام الذاكرة أثناء العمل مع ملفات كبيرة تحتوي على مجموعات بيانات كبيرة
- قراءة جدول بيانات الأرقام المطور من قبل Apple Inc. باستخدام Aspose.Cells
- قراءة ملف CSV بعدة ترميزات
- توقّف عن التحويل أو التحميل باستخدام InterruptMonitor عندما يستغرق وقتًا طويلاً
- استخدام واجهة برمجة التطبيقات LightCells