Çalışma Sayfasına Veri İçe Aktarma

Çalışma Sayfasına Veri İçe Aktarma Nasıl Yapılır

Aspose.Cells ile bir Excel dosyasını açtığınızda, dosyadaki tüm veriler otomatik olarak içe aktarılır. Aspose.Cells ayrıca diğer veri kaynaklarından da veri içe aktarabilir.

Aspose.Cells, Microsoft Excel dosyasını temsil eden bir sınıf olan Workbook sağlar. Workbook sınıfı, bir Excel dosyasındaki her çalışma sayfasına erişime izin veren bir Worksheets koleksiyonunu içerir. Bir çalışma sayfası, Worksheet sınıfı ile temsil edilir. Worksheet sınıfı bir Cells koleksiyonu sağlar. Cells koleksiyonu, farklı veri kaynaklarından veri içe aktarmak için kullanışlı yöntemler sağlar. Bu makale, bu yöntemlerin nasıl kullanılabileceğini açıklar.

ICellsDataTable arayüzü ile Excel’e veri aktarma işlemi nasıl yapılır

Çeşitli veri kaynaklarını sarmak için ICellsDataTable ı uygulayın, ardından Cells.ImportData() yöntemini kullanarak verileri Excel çalışma sayfasına aktarın.

Örnek Kod

//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, ve CustomerList sınıflarının uygulaması aşağıda verilmiştir

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

Diziden Excel’e Veri Aktarma

Bir diziden elektronik tabloya veri aktarmak için, ImportArray koleksiyonunun Cells yöntemini çağırın. ImportArray yönteminin birçok aşırı yüklenmiş sürümü vardır, ancak tipik bir aşırı yüklenmenin aşağıdaki parametreleri alır:

  • Dizi, içeriği aktardığınız dizi nesnesi.
  • Satır numarası, verilerin aktarılacağı ilk hücrenin satır numarası.
  • Sütun numarası, verilerin aktarılacağı ilk hücrenin sütun numarası.
  • Dikey mi, verinin dikey olarak mı yoksa yatay olarak mı aktarılacağını belirten bir Boolean değeri.
// 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’ten Excel’e Veri Aktarma

ArrayList daki verileri elektronik tablolara aktarmak için, Cells koleksiyonunun ImportArrayList yöntemini çağırın. ImportArray yöntemi aşağıdaki parametreleri alır:

  • Array list, içeriği aktardığınız ArrayList nesnesini temsil eder.
  • Satır numarası, verilerin aktarılacağı ilk hücrenin satır numarasını temsil eder.
  • Sütun numarası, verilerin aktarılacağı ilk hücrenin sütun numarasını temsil eder.
  • Dikey mi, verinin dikey olarak mı yoksa yatay olarak mı aktarılacağını belirten bir Boolean değeri.
// 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");

Özel Nesnelerden Excel’e Veri Aktarma

Nesne koleksiyonundan bir çalışma sayfasına veri aktarmak için ImportCustomObjects kullanın. İstenen nesnelerin listeni yönteme sağlayarak istediğiniz nesne listesini görüntüleyin.

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

Özel Nesnelerden Excel’e Veri Aktarma ve Birleştirilmiş Alanı Kontrol Etme

Birleştirilmiş hücreler içeren bir çalışma sayfasından nesne koleksiyonundan veri aktarmak için ImportTableOptions.CheckMergedCells özelliğini kullanın. Excel şablonunda birleştirilmiş hücreler varsa, ImportTableOptions.CheckMergedCells özelliğinin değerini true olarak ayarlayın. İstenen nesne listesini göstermek için yönteme ImportTableOptions nesnesini ve sütun/özelliklerin listesini sağlayın. Aşağıdaki kod örneği, özel nesnelerden birleştirilmiş hücrelere veri aktarmak için ImportTableOptions.CheckMergedCells özelliğinin kullanımını gösterir. Referans için lütfen ekteki kaynak Excel dosyasını ve çıktı Excel dosyasını inceleyin.

// 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’dan Excel’e Veri Aktarma

DataTable dan veri aktarmak için, Cells koleksiyonunun ImportDataTable yöntemini çağırın. ImportDataTable yönteminin birçok aşırı yüklenmiş sürümü vardır, ancak tipik bir aşırı yüklenmenin aşağıdaki parametreleri alır:

  • Data table, içeriği aktardığınız DataTable nesnesi.
  • Alan adı gösterilir mi, DataTable sütunlarının çalışma sayfasına birinci satır olarak aktarılıp aktarılmayacağını belirler.
  • Başlangıç hücresi, DataTable içeriğini nereden aktarılacağını temsil eder (örneğin “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");

Dinamik nesne olarak veri kaynağından Excel’e Veri Aktarma

Aspose.Cells, dinamik nesnelerle çalışmak için özellikler sağlar. Özelliklerin nesnelere dinamik olarak eklenmesine yardımcı olur. Özellikler nesneye eklenir eklenmez, Aspose.Cells ilk girişi şablon olarak kabul eder ve geri kalanı buna göre işler. Bu, bir dinamik özellik yalnızca ilk öğeye eklenirse ve diğer nesnelere eklenmezse, Aspose.Cells’ın tüm öğelerin aynı olması gerektiğini düşünmesi anlamına gelir.

Bu örnekte, başlangıçta yalnızca iki değişken içeren bir şablon model kullanılmaktadır. Bu Liste Listesi dinamik nesnelerin Liste’sine dönüştürülmüştür. Daha sonra buna bazı ek alan eklenir ve Son olarak Bildirime yüklenir. Excel, yalnızca şablon XLSX dosyasındaki değerleri alır. Bu şablon çalışma kitabı, ayrıca parametreler içeren Zeki İşaretçiler kullanır. Parametreler, bilgilerin nasıl düzenlendiğini değiştirmenize olanak tanır. Zeki İşaretçi hakkındaki ayrıntılar aşağıdaki makaleden elde edilebilir:

Akıllı İşaretçiler Kullanarak

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

Excel’e DataColumn Nasıl İçe Aktarılır

Bir DataTable ya da DataView nesnesi bir veya daha fazla sütundan oluşur. Geliştiriciler, DataTable ya da DataView‘in herhangi bir Sütun/Sütunlar’ından veri içe aktarabilirler. Cells koleksiyonunun ImportData yöntemini çağırarak DataTable ya da DataView içeriğini içe aktarabilirler. ImportData yöntemi, ImportTableOptions türünde bir parametre alır. ImportTableOptions sınıfı, bir dizi sütun indeksini kabul eden ColumnIndexes özelliği sağlar.

Aşağıdaki örnek kod, seçici sütunları içe aktarmak için ImportTableOptions.ColumnIndexes kullanımını göstermektedir.

// 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");

Excel’e DataView Nasıl İçe Aktarılır

DataView‘den veri içe aktarmak için, ImportData koleksiyonunun Cells yöntemini çağırın. ImportData yönteminin birçok aşırı yüklenmiş sürümü bulunmaktadır ancak DataView için tipik bir aşırı yüklemenin aldığı parametreler şunlardır:

  • DataView: İçeriği içe aktarmak istediğiniz DataView nesnesi.
  • İlk Satır: Verinin içe aktarılacağı ilk hücrenin satır numarası.
  • İlk Sütun: Verinin içe aktarılacağı ilk hücrenin sütun numarası.
  • ImportTableOptions: İçe aktarma seçenekleri.
// 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 Nasıl Excel’e İçe Aktarılır

DataGrid‘den veri içe aktarmak mümkündür, Cells koleksiyonunun ImportDataGrid yöntemini çağırarak. ImportDataGrid yönteminin birçok aşırı yüklenmiş sürümü bulunmaktadır ancak tipik bir aşırı yüklemenin aldığı parametreler şunlardır:

  • Data grid, içerik içe aktardığınız DataGrid nesnesi.
  • Satır Numarası, verinin içe aktarılacağı ilk hücrenin satır numarası.
  • Sütun Numarası, verinin içe aktarılacağı ilk hücrenin sütun numarası.
  • Satırlar Ekle, veriyi sığdırmak için çalışma sayfasına ekstra satır eklenip eklenmeyeceğini belirten Boolean özelliği.
// 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 Nasıl Excel’e İçe Aktarılır

GridView kontrolünden veri içe aktarmak için, Cells koleksiyonunun ImportGridView yöntemini çağırın.

Aspose.Cells, veriyi elektronik tabloya içe aktarırken HTML biçimli değerleri dikkate almamıza olanak tanır. Verileri içe aktarırken HTML ayrıştırması etkinleştirildiğinde, Aspose.Cells HTML’i karşılık gelen hücre biçimlemesine dönüştürür.

HTML Biçimli Veriler Nasıl Excel’e İçe Aktarılır

Aspose.Cells, dış veri kaynaklarından veri içe aktarmak için çok kullanışlı yöntemler sağlayan bir Cells sınıfı sağlar. Bu makale, veri içe aktarırken HTML biçimli metni ayrıştırma ve HTML’i biçimli hücre değerlerine dönüştürme işlemlerini göstermektedir.

// 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’dan Excel’e Veri İçe Aktarma

Aspose.Cells, JSON işleme için bir JsonUtility sınıfı sağlar. JsonUtility sınıfı, JSON verisini içe aktarmak için bir ImportData yöntemine sahiptir. Aspose.Cells ayrıca, JSON düzeni seçeneklerini temsil eden bir JsonLayoutOptions sınıfı sağlar. ImportData yöntemi, bir parametre olarak JsonLayoutOptions kabul eder. JsonLayoutOptions sınıfı aşağıdaki özellikleri sağlar.

  • ArrayAsTable: Array içindeki öğenin tablo olarak işlenip işlenmeyeceğini belirtir.
  • ConvertNumericOrDate: JSON içindeki dizenin sayısal veya tarihsel bir değere dönüştürülüp dönüştürülmeyeceğini alır veya ayarlar.
  • DateFormat: Tarih değerinin biçimlendirilmesini alır ve ayarlar.
  • IgnoreArrayTitle: Nesnenin özelliği bir dizi ise başlığın dikkate alınıp alınmayacağını belirtir.
  • IgnoreNull: null değerinin dikkate alınıp alınmayacağını belirler.
  • IgnoreObjectTitle: Nesnenin özelliği bir nesne ise başlığın dikkate alınıp alınmayacağını belirtir.
  • NumberFormat: Sayısal değerin biçimlendirmesini alır ve ayarlar.
  • TitleStyle: Başlık stilini alır ve ayarlar.

Aşağıda verilen örnek kod, JSON verilerini içe aktarmak için JsonUtility ve JsonLayoutOptions sınıflarının kullanımını göstermektedir.

// 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");

Gelişmiş Konular