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