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

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

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

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

استيراد البيانات في Excel بواجهة ICellsDataTable

ينفذICellsDataTable لالتفاف مصادر البيانات المختلفة ، ثم استخدمCells. بيانات الاستيراد () لاستيراد البيانات إلى ورقة عمل 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عميل، وقائمة العملاء يتم إعطاء الفئات أدناه

// 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; }
}
}

الاستيراد من Array

لاستيراد البيانات إلى جدول بيانات من مصفوفة ، قم باستدعاء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");

الاستيراد من ArrayList

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

  • قائمة الصفيف ، يمثل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");

الاستيراد من كائنات مخصصة

لاستيراد البيانات من مجموعة كائنات إلى ورقة عمل ، استخدم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 خاصية. إذا كان قالب Excel يحتوي على خلايا مدمجة ، فقم بتعيين قيمةImportTableOptions.CheckMergedCellsالملكية على صواب. مرر الخيارات ImportTable كائن مع قائمة الأعمدة / الخصائص لطريقة عرض قائمة الكائنات التي تريدها. يوضح نموذج التعليمات البرمجية التالي استخدامImportTableOptions.CheckMergedCells لاستيراد البيانات من الكائنات المخصصة إلى الخلايا المدمجة. يرجى الاطلاع على المرفقمصدر 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

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

  • جدول البيانات ، الجدول البيانات الكائن الذي تقوم باستيراد المحتوى منه.
  • هو اسم الحقل المعروض ، يحدد ما إذا كانت أسماء ملفاتجدول البياناتيجب استيراد الأعمدة إلى ورقة العمل كصف أول أم لا.
  • خلية البداية ، يمثل اسم خلية البداية (على سبيل المثال “A1”) من مكان استيراد محتويات ملفجدول البيانات.
// 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 فقط. يستخدم مصنف القالب هذا العلامات الذكية التي تحتوي أيضًا على معلمات. تسمح لك المعلمات بتعديل كيفية وضع المعلومات. يمكن الحصول على تفاصيل حول العلامات الذكية من المقالة التالية:

استخدام العلامات الذكية

// 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 (.NET)

أجدول البياناتأوعرض البياناتيتكون الكائن من عمود واحد أو أكثر. يمكن للمطورين أيضًا استيراد البيانات من أي عمود / أعمدة فيجدول البياناتأوعرض البياناتمن خلال استدعاءبيانات الاستيراد طريقةCellsمجموعة. البيانات الاستيرادالأسلوب يقبل معلمة من النوعخيارات ImportTable. الخيارات ImportTable فئة توفر أالعمود الفهارسالخاصية التي تقبل مصفوفة من فهارس الأعمدة.

يوضح نموذج التعليمات البرمجية الوارد أدناه استخدام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 (.NET)

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

  • عرض البيانات: العرض البياناتالذي أنت على وشك استيراد المحتوى منه.
  • **السطر الاول:**رقم صف الخلية الأولى التي سيتم استيراد البيانات إليها.
  • **العمود الأول:**رقم عمود الخلية الأولى التي سيتم استيراد البيانات إليها.
  • **خيارات ImportTable:**خيارات الاستيراد.
// 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 (.NET)

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

  • شبكة بيانات ، الشبكة بياناتالذي تقوم باستيراد المحتوى منه.
  • رقم الصف، رقم صف الخلية الأولى التي سيتم استيراد البيانات إليها.
  • رقم العمود، رقم عمود الخلية الأولى التي سيتم استيراد البيانات إليها.
  • إدراج صفوف، خاصية منطقية تشير إلى ما إذا كان يجب إضافة صفوف إضافية إلى ورقة العمل لاحتواء البيانات أم لا.
// 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

لاستيراد البيانات من ملفعرض شبكي السيطرة ، استدعاءإيمبورتجريدفيو طريقةCellsمجموعة.

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

استيراد HTML بيانات منسقة

يوفر 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);

استيراد البيانات من JSON

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

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

يوضح نموذج التعليمة البرمجية أدناه استخدام ملحق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");

موضوعات مسبقة