إعادة تسمية الأعمدة المُكررة تلقائيًا أثناء تصدير بيانات ورقة العمل

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

في بعض الأحيان يواجه المستخدم مشكلة في الأعمدة المكررة أثناء تصدير البيانات من ورقة العمل إلى جدول البيانات. لا يمكن لجدول البيانات أن يحتوي على أعمدة مكررة لذا يجب إعادة تسمية الأعمدة المكررة قبل تصدير بيانات ورقة العمل إلى جدول البيانات. يمكن لـ Aspose.Cells إعادة تسمية الأعمدة المكررة تلقائيًا وفقًا لاستراتيجية محددة من قبلك باستخدام الخاصية ExportTableOptions.RenameStrategy. إذا حددت RenameStrategy.Digit، سيتم إعادة تسمية الأعمدة مثل column1، column2، column3، وما إلى ذلك، وإذا حددت RenameStrategy.Letter، فسيتم إعادة تسمية الأعمدة مثل columnA، columnB، columnC، وما إلى ذلك.

إعادة تسمية الأعمدة المكررة تلقائيًا أثناء تصدير بيانات ورقة العمل

يضيف الكود العيني التالي بعض البيانات في الأعمدة الثلاثة الأولى للورقة ولكن جميع الأعمدة لها نفس الاسم أي People. ثم يصدر البيانات من الورقة إلى جدول البيانات عن طريق تحديد الاستراتيجية RenameStrategy.Letter. ثم يقوم بطباعة أسماء الأعمدة في جدول البيانات الذي تم إنشاؤه بواسطة Aspose.Cells. يظهر اللقطة الشاشية التالية جدول البيانات مع البيانات المصدرة في المُصَوِّر. كما يمكنك رؤية أن الأعمدة المُكررة قد تمت إعادة تسميتها لتصبح PeopleA، PeopleB وما إلى ذلك.

todo:image_alt_text

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

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Create a workbook.
Workbook wb = new Workbook();
//Access first worksheet.
Worksheet ws = wb.Worksheets[0];
//Write the same column name in columns A, B and C.
string columnName = "People";
ws.Cells["A1"].PutValue(columnName);
ws.Cells["B1"].PutValue(columnName);
ws.Cells["C1"].PutValue(columnName);
//Insert data in column A, B and C.
ws.Cells["A2"].PutValue("Data");
ws.Cells["B2"].PutValue("Data");
ws.Cells["C2"].PutValue("Data");
//Create ExportTableOptions and specify that you want to rename
//duplicate column names automatically via RenameStrategy property.
ExportTableOptions opts = new ExportTableOptions();
opts.ExportColumnName = true;
opts.RenameStrategy = RenameStrategy.Letter;
//Export data to data table, duplicate column names will be renamed automatically.
System.Data.DataTable dataTable = ws.Cells.ExportDataTable(0, 0, 4, 3, opts);
//Now print the column names of the data table generated by Aspose.Cells while exporting worksheet data.
for (int i = 0; i < dataTable.Columns.Count; i++)
{
Console.WriteLine(dataTable.Columns[i].ColumnName);
}

مخرجات الوحدة

إليك الناتج المكتوب على وحدة الإخراج القياسية للكود العيني أعلاه كمرجع.

People

PeopleA

PeopleB