استيراد البيانات في صفحة العمل

كيفية استيراد البيانات إلى ورقة العمل

عند فتح ملف Excel بـ Aspose.Cells ، يتم استيراد جميع البيانات في الملف تلقائيًا. يمكن لـ Aspose.Cells أيضًا استيراد البيانات من مصادر بيانات أخرى.

توفر Aspose.Cells فئة تمثل ملف Microsoft Excel. تحتوي الفئة على مجموعة تسمح بالوصول إلى كل ورقة عمل في ملف Excel. يتم تمثيل ورقة العمل بواسطة الفئة. توفر الفئة مجموعة. توفر مجموعة وسائل مفيدة لاستيراد البيانات من مصادر بيانات مختلفة. يشرح هذا المقال كيف يمكن استخدام هذه الأساليب.

كيفية استيراد البيانات إلى Excel باستخدام واجهة ICellsDataTable

نفذ ICellsDataTable لتغليف مصادر البيانات المختلفة لديك، ثم استخدم Cells.ImportData() لاستيراد البيانات إلى ورقة العمل في Excel.

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

//Init data source
CustomerList customers = new CustomerList();
customers.Add(new Customer("Thomas Hardy", "120 Hanover Sq., London"));
customers.Add(new Customer("Paolo Accorti", "Via Monte Bianco 34, Torino"));
//Create a new file.
var wb = new Workbook();
ImportTableOptions options = new ImportTableOptions();
options.IsFieldNameShown = true;
//Import ICellsDataTable with options
wb.Worksheets[0].Cells.ImportData(new CustomerDataSource(customers), 0, 0, options);
wb.Save("ICellsDataTable.xlsx");

يتم تقديم تنفيذ CustomerDataSource, Customer, و CustomerList للفئات أدناه

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
public class CustomerDataSource : ICellsDataTable
{
public CustomerDataSource(CustomerList customers)
{
this.m_DataSource = customers;
this.m_Properties = customers[0].GetType().GetProperties();
this.m_Columns = new string[this.m_Properties.Length];
this.m_PropHash = new Hashtable(this.m_Properties.Length);
for (int i = 0; i < m_Properties.Length; i++)
{
this.m_Columns[i] = m_Properties[i].Name;
this.m_PropHash.Add(m_Properties[i].Name, m_Properties[i]);
}
this.m_IEnumerator = this.m_DataSource.GetEnumerator();
}
internal string[] m_Columns;
internal ICollection m_DataSource;
private Hashtable m_PropHash;
private IEnumerator m_IEnumerator;
private System.Reflection.PropertyInfo[] m_Properties;
public string[] Columns
{
get
{
return this.m_Columns;
}
}
public int Count
{
get
{
return this.m_DataSource.Count;
}
}
public void BeforeFirst()
{
this.m_IEnumerator = this.m_DataSource.GetEnumerator();
}
public object this[int index]
{
get
{
return this.m_Properties[index].GetValue(this.m_IEnumerator.Current, null);
}
}
public object this[string columnName]
{
get
{
return ((System.Reflection.PropertyInfo)this.m_PropHash[columnName]).GetValue(this.m_IEnumerator.Current, null);
}
}
public bool Next()
{
if (this.m_IEnumerator == null)
return false;
return this.m_IEnumerator.MoveNext();
}
}
public class Customer
{
public Customer(string aFullName, string anAddress)
{
FullName = aFullName;
Address = anAddress;
}
public string FullName { get; set; }
public string Address { get; set; }
}
public class CustomerList : ArrayList
{
public new Customer this[int index]
{
get { return (Customer)base[index]; }
set { base[index] = value; }
}
}

كيفية استيراد البيانات إلى Excel من مصفوفة

لِاستيراد البيانات إلى ورقة العمل من مصفوفة، اُنادي بطريقة ImportArray في مجموعة Cells. يوجد العديد من الإصدارات المحملة للدالة ImportArray ولكن الشحصة الصارية تأخذ المعاملات التالية:

  • مصفوفة، الكائن مصفوفة الذي تقوم باستيراد المحتوى منه.
  • رقم الصف، رقم الصف الذي سيتم استيراد البيانات إليه.
  • رقم العمود، رقم العمود الذي سيتم استيراد البيانات إليه.
  • هَلْ رأسيّ، قيمة بولية تحدد ما إذا كنت ستقوم استيراد البيانات عموديًا أو أفقيًا.
// 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);
// Create directory if it is not already present.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
System.IO.Directory.CreateDirectory(dataDir);
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Obtaining the reference of the worksheet
Worksheet worksheet = workbook.Worksheets[0];
// Creating an array containing names as string values
string[] names = new string[] { "laurence chen", "roman korchagin", "kyle huang" };
// Importing the array of names to 1st row and first column vertically
worksheet.Cells.ImportArray(names, 0, 0, true);
// Saving the Excel file
workbook.Save(dataDir + "DataImport.out.xls");

كيفية استيراد البيانات إلى Excel من ArrayList

لِاستيراد البيانات من ArrayList إلى ورقات العمل، اُنادي بطريقة Cells في مجموعة ImportArrayList. تأخذ طريقة ImportArray المعاملات التالية:

  • ArrayList، تمثل كائن ArrayList الذي تقوم بإستيراده.
  • رقم الصف، تمثل رقم الصف الأول الذي سيتم استيراد البيانات إليه.
  • رقم العمود، تمثل رقم العمود الأول الذي سيتم استيراد البيانات إليه.
  • هَلْ رأسيّ، قيمة بولية تحدد ما إذا كنت ستقوم استيراد البيانات عموديًا أو أفقيًا.
// 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);
// Create directory if it is not already present.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
System.IO.Directory.CreateDirectory(dataDir);
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Obtaining the reference of the worksheet
Worksheet worksheet = workbook.Worksheets[0];
// Instantiating an ArrayList object
ArrayList list = new ArrayList();
// Add few names to the list as string values
list.Add("laurence chen");
list.Add("roman korchagin");
list.Add("kyle huang");
list.Add("tommy wang");
// Importing the contents of ArrayList to 1st row and first column vertically
worksheet.Cells.ImportArrayList(list, 0, 0, true);
// Saving the Excel file
workbook.Save(dataDir + "DataImport.out.xls");

كيفية استيراد البيانات إلى Excel من الكائنات المخصصة

للاستيراد البيانات من مجموعة من الكائنات إلى ورقة العمل، استخدم ImportCustomObjects. قدم قائمة من الأعمدة/الخصائص إلى الطريقة لعرض قائمة الكائنات المرغوبة الخاصة بك.

private void TestImportingFromCustomObject()
{
//Examples-CSharp-Data-Handling-Importing-ImportingFromCustomObject-1.cs
// 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);
// Create directory if it is not already present.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
System.IO.Directory.CreateDirectory(dataDir);
// Instantiate a new Workbook
Workbook book = new Workbook();
Worksheet sheet = book.Worksheets[0];
// Define List
List<Person> list = new List<Person>();
list.Add(new Person("Mike", 25));
list.Add(new Person("Steve", 30));
list.Add(new Person("Billy", 35));
ImportTableOptions imp = new ImportTableOptions();
imp.InsertRows = true;
// We pick a few columns not all to import to the worksheet
// We pick a few columns not all to import to the worksheet
sheet.Cells.ImportCustomObjects((System.Collections.ICollection)list,
new string[] { "Name", "Age" },
true,
0,
0,
list.Count,
true,
"dd/mm/yyyy",
false);
// Auto-fit all the columns
book.Worksheets[0].AutoFitColumns();
// Save the Excel file
book.Save(dataDir + "ImportedCustomObjects.out.xls");
}
class Person
{
int _age;
string _name;
public int Age
{
get
{
return _age;
}
set
{
_age = value;
}
}
public string Name
{
get
{
return _name;
}
set
{
_name = value;
}
}
public Person(string name, int age)
{
Age = age;
Name = name;
}
}

كيفية استيراد البيانات إلى إكسل من الكائنات المخصصة وفحص منطقة الدمج

للاستيراد البيانات من مجموعة من الكائنات إلى ورقة العمل التي تحتوي على خلايا مدمجة، استخدم خاصية ImportTableOptions.CheckMergedCells. إذا كان القالب في إكسل يحتوي على خلايا مدمجة، ضبط قيمة الخاصية ImportTableOptions.CheckMergedCells على القيمة الصحيحة. قم بتمرير الكائن ImportTableOptions إلى جانب قائمة الأعمدة/الخصائص إلى الطريقة لعرض قائمة الكائنات المرغوبة الخاصة بك. يوضح الكود العيني التالي استخدام الخاصية ImportTableOptions.CheckMergedCells لاستيراد البيانات من الكائنات المخصصة إلى الخلايا المدمجة. يرجى الرجوع إلى الملف الإكسل المرفق للمرجعية source Excel وملف الإكسل الناتج output Excel.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
public class ImportCustomObjectsToMergedArea
{
public static void Run()
{
//Source directory
string sourceDir = RunExamples.Get_SourceDirectory();
//Output directory
string outputDir = RunExamples.Get_OutputDirectory();
Workbook workbook = new Workbook(sourceDir + "sampleMergedTemplate.xlsx");
List<Product> productList = new List<Product>();
//Creating collection of test items
for (int i = 0; i < 3; i++)
{
Product product = new Product
{
ProductId = i,
ProductName = "Test Product - " + i
};
productList.Add(product);
}
ImportTableOptions tableOptions = new ImportTableOptions();
tableOptions.CheckMergedCells = true;
tableOptions.IsFieldNameShown = false;
//Insert data to excel template
workbook.Worksheets[0].Cells.ImportCustomObjects((ICollection)productList, 1, 0, tableOptions);
workbook.Save(outputDir + "sampleMergedTemplate_out.xlsx", SaveFormat.Xlsx);
Console.WriteLine("ImportCustomObectsToMergedArea executed successfully.\r\n");
}
}
public class Product
{
public int ProductId { get; set; }
public string ProductName { get; set; }
}

كيفية استيراد البيانات إلى إكسل من DataTable

للاستيراد البيانات من DataTable، اتصل بال Cells الخاص بمجموعة ImportDataTable. هناك العديد من النسخ المتعددة من الطريقة ImportDataTable ولكن النسخة النمطية تأخذ معلمات الدخول التالية:

  • جدول البيانات، كائن DataTable الذي تستورد محتواه منه.
  • هل يتم عرض اسم الحقل، يحدد ما إذا كانت أسماء أعمدة DataTable يجب استيرادها إلى ورقة العمل كصف أول أم لا.
  • خلية البداية, يمثل اسم الخلية البداية (على سبيل المثال “A1”) من حيث يجب استيراد محتويات DataTable.
// 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);
// Create directory if it is not already present.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
System.IO.Directory.CreateDirectory(dataDir);
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Obtaining the reference of the worksheet
Worksheet worksheet = workbook.Worksheets[0];
// Instantiating a "Products" DataTable object
DataTable dataTable = new DataTable("Products");
// Adding columns to the DataTable object
dataTable.Columns.Add("Product ID", typeof(Int32));
dataTable.Columns.Add("Product Name", typeof(string));
dataTable.Columns.Add("Units In Stock", typeof(Int32));
// Creating an empty row in the DataTable object
DataRow dr = dataTable.NewRow();
// Adding data to the row
dr[0] = 1;
dr[1] = "Aniseed Syrup";
dr[2] = 15;
// Adding filled row to the DataTable object
dataTable.Rows.Add(dr);
// Creating another empty row in the DataTable object
dr = dataTable.NewRow();
// Adding data to the row
dr[0] = 2;
dr[1] = "Boston Crab Meat";
dr[2] = 123;
// Adding filled row to the DataTable object
dataTable.Rows.Add(dr);
ImportTableOptions tableOptions = new ImportTableOptions();
// Importing the contents of DataTable to the worksheet starting from "A1" cell,
// Where true specifies that the column names of the DataTable would be added to
// The worksheet as a header row
tableOptions.IsFieldNameShown = true;
worksheet.Cells.ImportData(dataTable, 0, 0, tableOptions);
// Saving the Excel file
workbook.Save(dataDir + "DataImport.out.xls");

كيفية استيراد البيانات إلى إكسل من كائن ديناميكي كمصدر بيانات

توفر Aspose.Cells ميزات للعمل مع الكائنات الديناميكية كمصدر بيانات. يساعد في استخدام مصدر بيانات حيث يتم إضافة الخصائص بشكل ديناميكي إلى الكائنات. بمجرد إضافة الخصائص إلى الكائن، تعتبر Aspose.Cells الإدخال الأول كالقالب وتتعامل بشكل مناسب مع البقية. يعني إذا تمت إضافة خاصية ديناميكية إلى العنصر الأول فقط وليس إلى الكائنات الأخرى، تعتبر Aspose.Cells أن جميع العناصر في المجموعة يجب أن تكون متماثلة.

في هذا المثال، يتم استخدام نموذج قالب يحتوي في البداية على متغيرين فقط. يتم تحويل هذه القائمة إلى قائمة من الكائنات الديناميكية. ثم يتم إضافة بعض الحقول الإضافية إليها وأخيرا تحميلها في مصنف البيانات. يقوم المصنف بأخذ القيم الخاصة بالقالب XLSX فقط. يستخدم مصنف القالب علامات Smart Markers التي تحتوي أيضا على معلمات. تسمح المعلمات لك بتعديل كيفية تخطيط المعلومات. يمكن الحصول على تفاصيل حول علامات Smart Markers من المقالة التالية:

استخدام علامات Smart Markers

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
using System.Collections.Generic;
using System.Dynamic;
using System.ComponentModel;
using System.Linq;
namespace Aspose.Cells.Examples.CSharp.Data.Handling.Importing
{
public class ImportingFromDynamicDataTable
{
//Source directory
static string sourceDir = RunExamples.Get_SourceDirectory();
//Output directory
static string outputDir = RunExamples.Get_OutputDirectory();
public static void Run()
{
// ExStart:1
// Here data is filled into a list of Model class containing two fields only
var data = GetData();
// Based upon business some additional fields e.g. unique id is added
var modifiedData = new Converter().GetModifiedData(data);
// Modified data is still an object but it is a dynamic one now
modifiedData.First().Id = 20;
// Following field is added in the dynamic objects list, but it will not be added to workbook as template file does not have this field
modifiedData.First().Id2 = 200;
// Create workbook and fill it with the data
Workbook workbook = new Workbook(sourceDir + @"ExcelTemplate.xlsx");
WorkbookDesigner designer = new WorkbookDesigner(workbook);
designer.SetDataSource("modifiedData", modifiedData);
designer.Process();
designer.Workbook.Save(outputDir + @"ModifiedData.xlsx");
// Base Model does work but doesn't have the Id
Workbook workbookRegular = new Workbook(sourceDir + @"ExcelTemplate.xlsx");
WorkbookDesigner designerRegular = new WorkbookDesigner(workbookRegular);
designerRegular.SetDataSource("ModifiedData", data);
designerRegular.Process();
designerRegular.Workbook.Save(outputDir + @"ModifiedDataRegular.xlsx");
// ExEnd:1
}
private static List<Model> GetData()
{
return new List<Model>
{
new Model{ Code = 1 , Name = "One" },
new Model{ Code = 2 , Name = "Two" },
new Model{ Code = 3 , Name = "Three" },
new Model{ Code = 4 , Name = "Four" },
new Model{ Code = 5 , Name = "Five" }
};
}
}
public class Model
{
public string Name { get; internal set; }
public int Code { get; internal set; }
}
public class Converter
{
private int _uniqueNumber;
public List<dynamic> GetModifiedData(List<Model> data)
{
var result = new List<dynamic>();
result.AddRange(data.ConvertAll<dynamic>(i => AddId(i)));
return result;
}
private dynamic AddId(Model i)
{
var result = TransformToDynamic(i);
result.Id = GetUniqueNumber();
return result;
}
private int GetUniqueNumber()
{
var result = _uniqueNumber;
_uniqueNumber++;
return result;
}
private dynamic TransformToDynamic(object dataObject)
{
IDictionary<string, object> expando = new ExpandoObject();
foreach (PropertyDescriptor property in TypeDescriptor.GetProperties(dataObject.GetType()))
expando.Add(property.Name, property.GetValue(dataObject));
return expando as dynamic;
}
}
}

كيفية استيراد DataColumn إلى إكسل

يتكون كائن DataTable أو DataView من عمود واحد أو أكثر. يمكن للمطورين أيضًا استيراد البيانات من أي عمود/أعمدة من DataTable أو DataView عن طريق استدعاء ImportData في مجموعة Cells. الطريقة ImportData تقبل معلمة من نوع ImportTableOptions. توفر الفئة ImportTableOptions خاصية ColumnIndexes تقبل مصفوفة من مؤشرات الأعمدة.

يقدم الكود العيني أدناه استخدام ImportTableOptions.ColumnIndexes لاستيراد الأعمدة الانتقائية.

// 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);
// Create directory if it is not already present.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
System.IO.Directory.CreateDirectory(dataDir);
// Instantiating a "Products" DataTable object
DataTable dataTable = new DataTable("Products");
// Adding columns to the DataTable object
dataTable.Columns.Add("Product ID", typeof(Int32));
dataTable.Columns.Add("Product Name", typeof(string));
dataTable.Columns.Add("Units In Stock", typeof(Int32));
// Creating an empty row in the DataTable object
DataRow dr = dataTable.NewRow();
// Adding data to the row
dr[0] = 1;
dr[1] = "Aniseed Syrup";
dr[2] = 15;
// Adding filled row to the DataTable object
dataTable.Rows.Add(dr);
// Creating another empty row in the DataTable object
dr = dataTable.NewRow();
// Adding data to the row
dr[0] = 2;
dr[1] = "Boston Crab Meat";
dr[2] = 123;
// Adding filled row to the DataTable object
dataTable.Rows.Add(dr);
// Instantiate a new Workbook
Workbook book = new Workbook();
Worksheet sheet = book.Worksheets[0];
// Create import options
ImportTableOptions importOptions = new ImportTableOptions();
importOptions.IsFieldNameShown = true;
importOptions.IsHtmlString = true;
// Importing the values of 2nd column of the data table
sheet.Cells.ImportData(dataTable, 1, 1, importOptions);
// Save workbook
book.Save(dataDir + "DataImport.out.xls");

كيفية استيراد DataView إلى إكسل

للاستيراد البيانات من DataView، اتصل بال Cells الخاص بمجموعة ImportData. هناك العديد من النسخ المتعددة من الطريقة ImportData ولكن النسخة لـ DataView تأخذ المعلمات التالية:

  • DataView: ال DataView الذي تعتزم استيراد المحتوى منه.
  • الصف الأول: رقم الصف الذي سيتم استيراد البيانات إليه.
  • العمود الأول: رقم العمود الذي سيتم استيراد البيانات إليه.
  • خيارات جدول الاستيراد: خيارات الاستيراد.
// 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);
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Obtaining the reference of the worksheet
Worksheet worksheet = workbook.Worksheets[0];
// Instantiating a "Products" DataTable object
DataTable dataTable = new DataTable("Products");
// Adding columns to the DataTable object
dataTable.Columns.Add("Product ID", typeof(Int32));
dataTable.Columns.Add("Product Name", typeof(string));
dataTable.Columns.Add("Units In Stock", typeof(Int32));
// Creating an empty row in the DataTable object
DataRow dr = dataTable.NewRow();
// Adding data to the row
dr[0] = 1;
dr[1] = "Aniseed Syrup";
dr[2] = 15;
// Adding filled row to the DataTable object
dataTable.Rows.Add(dr);
// Creating another empty row in the DataTable object
dr = dataTable.NewRow();
// Adding data to the row
dr[0] = 2;
dr[1] = "Boston Crab Meat";
dr[2] = 123;
// Adding filled row to the DataTable object
dataTable.Rows.Add(dr);
// Importing the contents of the data view to the worksheet
ImportTableOptions options = new ImportTableOptions();
options.IsFieldNameShown = true;
worksheet.Cells.ImportData(dataTable.DefaultView, 0, 0, options);
// Saving the Excel file
workbook.Save(dataDir + "output.xls");

كيفية استيراد DataGrid إلى Excel

من الممكن استيراد البيانات من DataGrid عن طريق استدعاء الأسلوب ImportDataGrid في مجموعة Cells. هناك العديد من الإصدارات المتعددة للأسلوب ImportDataGrid ولكن الإصدار النمطي يأخذ المعلمات التالية:

  • جدول البيانات، كائن DataGrid الذي تقوم باستيراد المحتوى منه.
  • رقم الصف، رقم الصف للخلية الأولى التي سيتم استيراد البيانات إليها.
  • رقم العمود، رقم العمود للخلية الأولى التي سيتم استيراد البيانات إليها.
  • إدراج الصفوف، خاصية بوليانية تشير ما إذا كان يجب إضافة صفوف إضافية إلى ورقة العمل لتناسب البيانات أم لا.
// 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);
// Create a DataTable object and set it as DataSource of DataGrid.
DataTable dataTable = new DataTable("Products");
dataTable.Columns.Add("Product ID", typeof(Int32));
dataTable.Columns.Add("Product Name", typeof(string));
dataTable.Columns.Add("Units In Stock", typeof(Int32));
DataRow dr = dataTable.NewRow();
dr[0] = 1;
dr[1] = "Aniseed Syrup";
dr[2] = 15;
dataTable.Rows.Add(dr);
dr = dataTable.NewRow();
dr[0] = 2;
dr[1] = "Boston Crab Meat";
dr[2] = 123;
dataTable.Rows.Add(dr);
// Now take care of DataGrid
System.Web.UI.WebControls.DataGrid dg = new System.Web.UI.WebControls.DataGrid();
dg.DataSource = dataTable;
dg.DataBind();
// We have a DataGrid object with some data in it.
// Lets import it into our spreadsheet
// Creat a new workbook
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];
// Importing the contents of the data grid to the worksheet
worksheet.Cells.ImportDataGrid(dg, 0, 0, false);
// Save it as Excel file
workbook.Save(dataDir + "output.xlsx");

كيفية استيراد GridView إلى Excel

لتستيراد البيانات من عنصر GridView، اِستدعِ ImportGridView في مجموعة Cells.

تسمح Aspose.Cells لنا بالاحترام للقيم المهيئة بتنسيق HTML أثناء استيراد البيانات إلى جدول البيانات. عند تمكين تحليل HTML أثناء استيراد البيانات، يحول Aspose.Cells ال HTML إلى تنسيق الخلية المقابل.

كيفية استيراد البيانات المهيئة بتنسيق HTML إلى Excel

توفر Aspose.Cells فئة Cells توفر طرقًا مفيدة جدًا لاستيراد البيانات من مصادر بيانات خارجية. يوضح هذا المقال كيفية تحليل النص المهيئ بتنسيق HTML أثناء استيراد البيانات وتحويل HTML إلى قيم خلية مهيئة.

// 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 output1Path = dataDir + "Output.out.xlsx";
string output2Path = dataDir + "Output.out.ods";
// Prepare a DataTable with some HTML formatted values
DataTable dataTable = new DataTable("Products");
dataTable.Columns.Add("Product ID", typeof(Int32));
dataTable.Columns.Add("Product Name", typeof(string));
dataTable.Columns.Add("Units In Stock", typeof(Int32));
DataRow dr = dataTable.NewRow();
dr[0] = 1;
dr[1] = "<i>Aniseed</i> Syrup";
dr[2] = 15;
dataTable.Rows.Add(dr);
dr = dataTable.NewRow();
dr[0] = 2;
dr[1] = "<b>Boston Crab Meat</b>";
dr[2] = 123;
dataTable.Rows.Add(dr);
// Create import options
ImportTableOptions importOptions = new ImportTableOptions();
importOptions.IsFieldNameShown = true;
importOptions.IsHtmlString = true;
// Create workbook
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];
worksheet.Cells.ImportData(dataTable, 0, 0, importOptions);
worksheet.AutoFitRows();
worksheet.AutoFitColumns();
workbook.Save(output1Path);
workbook.Save(output2Path);

كيفية استيراد البيانات إلى Excel من JSON

توفر Aspose.Cells فئة JsonUtility لمعالجة JSON. تحتوي فئة JsonUtility على أسلوب ImportData لاستيراد بيانات JSON. كما توفر Aspose.Cells أيضًا فئة JsonLayoutOptions تمثل خيارات تخطيط JSON. يقبل الأسلوب ImportData JsonLayoutOptions كمعلمة. توفر الفئة JsonLayoutOptions الخصائص التالية.

  • ArrayAsTable: يشير ما إذا كان يجب معالجة الصف في مصفوفة كجدول أم لا.
  • ConvertNumericOrDate: يحصل أو يعين قيمة تشير ما إذا كان يجب تحويل السلسلة في JSON إلى رقم أو تاريخ.
  • DateFormat: يحصل ويضبط تنسيق قيمة التاريخ.
  • IgnoreArrayTitle: يشير ما إذا كان يجب تجاهل العنوان إذا كانت خاصية الكائن مصفوفة
  • IgnoreNull: يشير ما إذا كان يجب تجاهل قيمة الـ Null أم لا.
  • IgnoreObjectTitle: يشير ما إذا كان يجب تجاهل العنوان إذا كانت خاصية الكائن هي كائن.
  • NumberFormat: يحصل ويضبط تنسيق القيمة الرقمية.
  • TitleStyle: يحصل ويضبط نمط العنوان.

الكود النموذجي الذي يوضح الاستخدام الأسفل للفئتين JsonUtility و JsonLayoutOptions لاستيراد بيانات JSON.

// 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);
// Instantiating a Workbook object
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];
// Read File
string jsonInput = File.ReadAllText(dataDir + "Test.json");
// Set Styles
CellsFactory factory = new CellsFactory();
Style style = factory.CreateStyle();
style.HorizontalAlignment = TextAlignmentType.Center;
style.Font.Color = System.Drawing.Color.BlueViolet;
style.Font.IsBold = true;
// Set JsonLayoutOptions
JsonLayoutOptions options = new JsonLayoutOptions();
options.TitleStyle = style;
options.ArrayAsTable = true;
// Import JSON Data
JsonUtility.ImportData(jsonInput, worksheet.Cells, 0, 0, options);
// Save Excel file
workbook.Save(dataDir + "ImportingFromJson.out.xlsx");

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