تحويل ملفات CSV، TSV و TXT إلى Excel

فتح ملفات CSV

ملفات قيم مفصولة بفواصل (CSV) تحتوي على سجلات حيث تكون القيم مفصولة بفواصل. يتم تخزين البيانات كجدول حيث يتم فصل كل عمود بحرف الفاصلة وتقوم بتقديمه بواسطة الرمز التنصيصي من خلال الرمز مزدوج التنصيص. إذا كانت قيمة الحقل تحتوي على رمز تنصيصي مزدوج فإنه يتم الخروج منها بزوج من الرموز المزدوجة للتنصيص. يمكنك أيضًا استخدام Microsoft Excel لتصدير بيانات جدول البيانات إلى CSV.

// 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);
// Instantiate LoadOptions specified by the LoadFormat.
LoadOptions loadOptions4 = new LoadOptions(LoadFormat.Csv);
// Create a Workbook object and opening the file from its path
Workbook wbCSV = new Workbook(dataDir + "Book_CSV.csv", loadOptions4);
Console.WriteLine("CSV file opened successfully!");

فتح ملفات CSV واستبدال الأحرف غير الصحيحة

في Excel ، عند فتح ملف CSV الذي يحتوي على أحرف خاصة ، يتم استبدال الأحرف تلقائيًا. يتم القيام بالشيء نفسه بواسطة واجهة برمجة التطبيقات Aspose.Cells والتي يتم توضيحها في مثال الشيفرة المعطى أدناه.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Source directory
string sourceDir = RunExamples.Get_SourceDirectory();
var filename = sourceDir + "[20180220142533][ASPOSE_CELLS_TEST].csv";
//Load CSV file
var workbook = new Workbook(filename, new TxtLoadOptions() { Separator = ';', LoadFilter = new LoadFilter(LoadDataFilterOptions.CellData), CheckExcelRestriction = false, ConvertNumericData = false, ConvertDateTimeData = false });
Console.WriteLine(workbook.Worksheets[0].Name); // (20180220142533)(ASPOSE_CELLS_T
Console.WriteLine(workbook.Worksheets[0].Name.Length); // 31
Console.WriteLine("CSV file opened successfully!");

استخدام محلل مفضل

ليس من الضروري دائمًا استخدام إعدادات المحلل الافتراضية لفتح ملفات CSV. في بعض الأحيان ، لا ينشأ استيراد ملف CSV الإخراج المتوقع مثل تنسيق التاريخ ليس كما هو متوقع أو يتم التعامل بشكل مختلف مع الحقول الفارغة. يتوفر لهذا الغرض TxtLoadOptions.PreferredParsers لتوفير محلل مفضل خاص لتحليل أنواع بيانات مختلفة وفقًا للمتطلبات. يوضح الشيفرة التالية عينة عن استخدام المحلل المفضل.  

يمكن تنزيل ملف الشفرة المصدري وملفات الإخراج التجريبية من الروابط التالية لاختبار هذه الميزة.

samplePreferredParser.csv

outputsamplePreferredParser.xlsx

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
class TextParser : ICustomParser
{
public object ParseObject(string value)
{
return value;
}
public string GetFormat()
{
return "";
}
}
class DateParser : ICustomParser
{
public object ParseObject(string value)
{
DateTime myDate = DateTime.ParseExact(value, "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture);
return myDate;
}
public string GetFormat()
{
return "dd/MM/yyyy";
}
}
public static void Main()
{
// Initialize Text File's LoadFormat
LoadFormat oLoadFormat = LoadFormat.Csv;
// Initialize Text File's Load options
TxtLoadOptions oTxtLoadOptions = new TxtLoadOptions(oLoadFormat);
// Specify the separatot character
oTxtLoadOptions.Separator = Convert.ToChar(",");
// Specify the encoding scheme
oTxtLoadOptions.Encoding = System.Text.Encoding.UTF8;
// Set the flag to true for converting datetime data
oTxtLoadOptions.ConvertDateTimeData = true;
// Set the preferred parsers
oTxtLoadOptions.PreferredParsers = new ICustomParser[] { new TextParser(), new DateParser() };
// Initialize the workbook object by passing CSV file and text load options
Workbook oExcelWorkBook = new Aspose.Cells.Workbook(sourceDir + "samplePreferredParser.csv", oTxtLoadOptions);
// Get the first cell
Cell oCell = oExcelWorkBook.Worksheets[0].Cells["A1"];
// Display type of value
Console.WriteLine("A1: " + oCell.Type.ToString() + " - " + oCell.DisplayStringValue);
// Get the second cell
oCell = oExcelWorkBook.Worksheets[0].Cells["B1"];
// Display type of value
Console.WriteLine("B1: " + oCell.Type.ToString() + " - " + oCell.DisplayStringValue);
// Save the workbook to disc
oExcelWorkBook.Save(outputDir + "outputsamplePreferredParser.xlsx");
Console.WriteLine("OpeningCSVFilesWithPreferredParser executed successfully.\r\n");
}

فتح ملفات النصوص بفاصل مخصص

تُستخدم ملفات النصوص لاحتواء البيانات الجدولية بدون تنسيق. هذا النوع من الملفات هو نوعٌ من ملفات النصوص البسيطة، وقد تحتوي على بعض محددات التجزئة المخصصة.

// 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 filePath = dataDir + "Book11.csv";
// Instantiate Text File's LoadOptions
TxtLoadOptions txtLoadOptions = new TxtLoadOptions();
// Specify the separator
txtLoadOptions.Separator = Convert.ToChar(",");
// Specify the encoding type
txtLoadOptions.Encoding = System.Text.Encoding.UTF8;
// Create a Workbook object and opening the file from its path
Workbook wb = new Workbook(filePath, txtLoadOptions);
// Save file
wb.Save(dataDir+ "output.txt");

فتح ملفات النصوص المفصولة بواسطة الألسنة

يحتوي ملف النص المفصول بواسطة الألسنة على بيانات جدولية بدون أي تنسيق. يتم ترتيب البيانات في صفوف وأعمدة مثلما يحدث في الجداول والأوراق الجدولية. بشكل أساسي، يعد ملف النص المفصول بواسطة الألسنة نوعًا خاصًا من ملفات النص البسيطة مع وجود فراغ بين كل عمود.

// 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);
// Opening Tab Delimited Files
// Instantiate LoadOptions specified by the LoadFormat.
LoadOptions loadOptions5 = new LoadOptions(LoadFormat.TabDelimited);
// Create a Workbook object and opening the file from its path
Workbook wbTabDelimited = new Workbook(dataDir + "Book1TabDelimited.txt", loadOptions5);
Console.WriteLine("Tab delimited file opened successfully!");

فتح ملفات القيم المفصولة بواسطة الألسنة (TSV)

يحتوي ملف القيم المفصولة بواسطة الألسنة على بيانات جدولية بدون أي تنسيق. وهو نفس الشيء مع ملف النص المفصول بواسطة الألسنة، حيث تتم ترتيب البيانات في صفوف وأعمدة مثلما يحدث في الجداول والأوراق الجدولية.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Source directory
string sourceDir = RunExamples.Get_SourceDirectory();
// Instantiate LoadOptions specified by the LoadFormat.
LoadOptions loadOptions = new LoadOptions(LoadFormat.Tsv);
// Create a Workbook object and opening the file from its path
Workbook workbook = new Workbook(sourceDir + "SampleTSVFile.tsv", loadOptions);
// Using the Sheet 1 in Workbook
Worksheet worksheet = workbook.Worksheets[0];
// Accessing a cell using its name
Cell cell = worksheet.Cells["C3"];
Console.WriteLine("Cell Name: " + cell.Name + " Value: " + cell.StringValue);

مواضيع متقدمة