صادرات داده به اکسل

در این مقاله، ما به شما نشان خواهیم داد که چگونه داده‌ها را از منابع داده‌ای مختلف مانند یک آرایه، مجموعه‌ای از اشیاء سفارشی، DataTable، DataView، DataGrid، GridView، HTML، JSON و CSV به Excel در C# و VB.NET صادر کنید.

صادر کردن داده‌ها به Excel در C# با استفاده از API Aspose.Cells

Aspose.Cells for .NET یک API قدرتمند برای دستکاری صفحه گسترده است که به شما اجازه می‌دهد فایل‌های Excel را در برنامه‌های .NET ایجاد، ویرایش یا تبدیل کنید. روش‌های آسان استفاده API به شما امکان می‌دهد تا ویژگی‌های خودکارسازی Excel را به طور یکپارچه در چند خط کد انجام دهید. NuGet آسان‌ترین راه برای دانلود و نصب Aspose.Cells API for .NET است. پنجره مدیریت بسته‌های NuGet را باز کنید و عبارت “Aspose.Cells” را در کادر جستجو تایپ کنید تا بسته Aspose.Cells .NET را پیدا کنید. در نهایت، روی دکمه نصب کلیک کنید تا آخرین نسخه بسته را نصب کنید.

C# صادرات آرایه به اکسل - آموزش کوتاه

ما می‌توانیم یک آرایه (یک‌بعدی یا دو‌بعدی) از نوع مرجع یا نوع مقدار را به یک سند اکسل صادر کنیم. ما از روش ImportArray مجموعه Cells برای صادر کردن داده‌ها به یک صفحه‌گسترده از یک آرایه استفاده می‌کنیم. نسخه‌های اضافه‌شده روش ImportArray به شرح زیر است.

نامتوصیف
ImportArray(Double[], Int32, Int32, Boolean)یک آرایه از نوع double را به یک ورق کاری صادر می‌کند.
ImportArray(Int32[], Int32, Int32, Boolean)آرایه ای از یک عدد صحیح را به یک ورق کاری صادر می کند.
ImportArray(String[], Int32, Int32, Boolean)یک آرایه از رشته‌ها را به یک شیت کار صادر می‌کند.
ImportArray(Double[,], Int32, Int32)یک آرایه دو بعدی از نوع double را به یک شیت کار صادر می‌کند.
ImportArray(Int32[,], Int32, Int32)یک آرایه دو بعدی از اعداد صحیح را به یک شیت کاری صادر می‌کند.
ImportArray(String[,], Int32, Int32)دو بعدی آرایه‌ای از رشته را به یک شیت کار صادر می‌کند.

یک بار زیاد معمولی پارامترهای زیر را می‌گیرد:

  • آرایه، شیء آرایه که شما محتوا را از آن صادر می‌کنید.
  • شماره ردیف، شماره ردیف اولین سلول (از صفر شروع) که داده‌ها به آن صادر خواهند شد.
  • شماره ستون، شماره ستونی که اولین سلول (بر اساس صفر) داده ها به آن صادر می شود.
  • عمودی، یک مقدار بولی است که مشخص می‌کند آیا داده‌ها به صورت عمودی یا افقی صادرات شوند.

مراحل زیر برای صادر کردن یک آرایه به فایل اکسل در C# است.

  1. یک شیء Workbook بسازید. یک کلاس Workbook نمایانگر یک فایل مایکروسافت اکسل است.
  2. به یک ارجاع به شیت مورد نظر دسترسی پیدا کنید. کلاس Workbook مجموعه ای از Worksheets را شامل می شود که دسترسی به هر شیت در یک فایل اکسل را ممکن می سازد.
  3. Call ImportArray method of a Cells collection to export an array to the worksheet at the specified row and column. The Worksheet class provides a Cells collection.
  4. فایل Excel را با استفاده از Workbook.Save(string) متد ذخیره کنید.

کد نمونه زیر نشان می‌دهد که چگونه یک آرایه از رشته‌ها را به یک فایل اکسل در C# صادر کنید.

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

// Exporting the array of names to first row and first column vertically
worksheet.Cells.ImportArray(names, 0, 0, true);

// Saving the Excel file
workbook.Save("StringsArray.xlsx");
صادرات آرایه رشته‌ای به اکسل

یک آرایه از داده‌ها را به اکسل صادر کنید

به طور مشابه، می‌توانیم یک آرایه دو بعدی را به یک فایل اکسل صادر کنیم. نمونه کد زیر نشان می‌دهد که چگونه می‌توان یک آرایه دو بعدی را به یک فایل اکسل در C# صادر کرد.

// Creating a two-dimensional array of integers
int[,] array2D = new int[4, 2] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };

// Exporting a two-dimensional array at the first row and first column of the worksheet
worksheet.Cells.ImportArray(array2D, 0, 0);

C# صادر کردن ArrayList به اکسل

برای صادر کردن داده‌ها از یک ArrayList به شیت، متد ImportArrayList مجموعه Cells را فراخوانی کنید. متد ImportArrayList پارامترهای زیر را می‌پذیرد:

  • لیست آرایه نمایانگر شیء ArrayList است که در حال صادرات آن هستید.
  • شماره ردیف نمایانگر شماره ردیف اولین سلولی است که داده‌ها به آن صادر خواهند شد.
  • شماره ستون نمایانگر شماره ستونی است که اولین سلول داده‌ها به آن صادر خواهد شد.
  • آیا عمودی یک مقدار بولی است که مشخص می‌کند آیا داده‌ها به صورت عمودی یا افقی صادر شوند؟

کد زیر نشان می‌دهد که چگونه یک ArrayList را به یک فایل Excel در C# صادر کنیم.

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

// Exporting the contents of ArrayList vertically at the first row and first column of the worksheet. 
worksheet.Cells.ImportArrayList(list, 0, 0, true);

// Saving the Excel file
workbook.Save("ArrayListExport.xlsx");

C# صادرات مجموعه‌ای از اشیاء سفارشی به اکسل

برای صادرات داده‌ها از یک مجموعه اشیاء سفارشی به یک برگه، از روش ImportCustomObjects استفاده می‌کنیم. دو نسخه بارگذاری شده از این روش وجود دارد.

  1. ImportCustomObjects(ICollection list, String[] propertyNames, Boolean isPropertyNameShown, Int32 firstRow, Int32 firstColumn, Int32 rowNumber, Boolean insertions, String dateFormatString, Boolean convertStringToNumber)
  2. ImportCustomObjects(ICollection list, Int32 firstRow, Int32 firstColumn, ImportTableOptions options)

ما هر یک از متدهای بارگذاری شده را یکی یکی بررسی خواهیم کرد. توضیح پارامترهای اولین متد بارگذاری شده در زیر آمده است:

  • لیست مجموعه اشیاء سفارشی.
  • نام‌های ویژگی‌های شی برای صادرات. اگر این null باشد، تمام ویژگی‌ها صادر خواهند شد.
  • isPropertyNameShown نشان می‌دهد که آیا نام‌های ویژگی‌ها به ردیف اول صادر می‌شوند یا خیر.
  • firstRow شماره ردیف اولین سلول برای صادرات.
  • firstColumn شماره ستون اولین سلول برای صادرات.
  • rowNumber تعداد اشیاء برای صادر کردن.
  • insertRows نشان می‌دهد که آیا ردیف‌های اضافی برای منطبق کردن داده‌ها اضافه شده است.
  • dateFormatString رشته فرمت تاریخ برای سلول‌ها.
  • convertStringToNumber نشان می‌دهد که آیا این متد سعی خواهد کرد رشته را به یک عدد تبدیل کند.

در مثال زیر، ما در حال صادرات فهرستی از اشیاء Person به یک سند Excel در C# هستیم. لطفاً توجه داشته باشید که ما تنها دو خاصیت (Name و Age) از یک شیء Person را صادر می‌کنیم.

// Instantiate a new Workbook
Workbook book = new Workbook();
// Obtaining the reference of the worksheet
Worksheet sheet = book.Worksheets[0];

// Define List
List<Person> list = new List<Person>();

list.Add(new Person("Mike", 25, "Software Engineer"));
list.Add(new Person("Steve", 30, "Doctor"));
list.Add(new Person("Billy", 35, "Teacher"));

// We pick only Name and Age columns, not all, to export to the worksheet         
sheet.Cells.ImportCustomObjects((System.Collections.ICollection)list,
    new string[] { "Name", "Age" }, // propertyNames
    true, // isPropertyNameShown
    0, // firstRow
    0, // firstColumn
    list.Count, // Number of objects to be exported
    true, // insertRows
    null, // dateFormatString
    false); // convertStringToNumber

// Save the Excel file
book.Save("ExportedCustomObjects.xlsx");
       
public class Person
{
    public string Name { get; set; }

    public int Age { get; set; }

    public string Occupation { get; set; }

    public Person(string name, int age, string occupation)
    {
        Age = age;
        Name = name;
        Occupation = occupation;
    }
}
صادرات لیست اشیاء به اکسل

لیستی از اشیاء Person را به Excel صادر کنید

اکنون به بررسی روش دوم بارگذاری شده ImportCustomObjects می‌پردازیم. توضیحات مربوط به پارامترهای این روش در زیر آمده است:

  • list The list of custom objects.
  • firstRow شماره ردیف اولین سلول برای صادرات.
  • firstColumn شماره ستون اولین سلول برای صادرات.
  • options ImportTableOptions object.

پارامتر ImportTableOptions گزینه‌های متعددی برای صادرات داده‌ها به درون سلول‌ها ارائه می‌دهد. برخی از آن‌ها در زیر آورده شده است:

  • CheckMergedCells آیا یک سند اکسل حاوی سلول‌های ترکیب‌شده است.
  • آرایه صحیح ColumnIndexes از ایندکس‌های ستون (بر اساس 0) برای صادرات از منبع داده. null به این معنی است که همه ستون‌ها باید صادر شوند.
  • ConvertGridStyle نشان می‌دهد که آیا باید سبک نمای شبکه به سلول‌ها اعمال شود.
  • ConvertNumericData یک مقدار بولی است که نشان می‌دهد آیا ارزش رشته‌ای باید به ارزش عددی یا تاریخی تبدیل شود.
  • DateFormat زمان فرمت تاریخ را برای سلول‌های حاوی مقادیر DateTime صادر شده، دریافت یا تنظیم می‌کند.
  • DefaultValues مقدار پیش‌فرض برای سلول در جدول خالی است.
  • InsertRows نشان می‌دهد که آیا باید سطرهای جدیدی برای صادرات سوابق داده‌ها اضافه شود.
  • IsFieldNameShown نشان می‌دهد که آیا نام‌های فیلد باید صادر شوند.
  • IsFormulas نشان می‌دهد که داده‌ها فرمول‌ها هستند.
  • IsHtmlString نشان می‌دهد که آیا داده شامل تگ‌های HTML است یا خیر. اگر مقدار را به true تنظیم کنیم، فرمت‌بندی HTML در حین صادرات داده‌ها به یک سند Excel حفظ خواهد شد.
  • NumberFormats دریافت یا تنظیم فرمت‌های عددی
  • ShiftFirstRowDown Indicates whether the first row should be shifted down when inserting rows.
  • TotalColumns تعداد کل ستون‌ها را برای صادر کردن از منبع داده دریافت یا تنظیم می‌کند. -1 به معنی همه ستون‌های منبع داده معین است.
  • TotalRows مقدار کل ردیف‌ها را برای صادرات از منبع داده دریافت یا تنظیم می‌کند. -1 به معنای تمام ردیف‌های منبع داده داده شده است.

در مثال زیر، ما داده‌ها را از یک مجموعه اشیاء به یک کاربرگ که شامل سلول‌های ادغام‌شده است، صادر می‌کنیم. ما مقدار ویژگی ImportTableOptions.CheckMergedCells را به true تنظیم می‌کنیم زیرا سند اکسل شامل سلول‌های ادغام‌شده است.

// Opening an existing Workbook.
Workbook workbook = new Workbook("SampleMergedTemplate.xlsx");
List<Product> productList = new List<Product>();

// Creating a collection of Products
for (int i = 0; i < 3; i++)
{
    Product product = new Product
    {
        ProductId = i,
        ProductName = "Test Product - " + i
    };
    productList.Add(product);
}

ImportTableOptions tableOptions = new ImportTableOptions();
// Set CheckMergedCells property to true
tableOptions.CheckMergedCells = true;
tableOptions.IsFieldNameShown = false;

//Export data to excel template (in second row, first column) 
workbook.Worksheets[0].Cells.ImportCustomObjects((ICollection)productList, 1, 0, tableOptions);
workbook.Save("SampleMergedTemplate_out.xlsx", SaveFormat.Xlsx);

public class Product
{
    public int ProductId { get; set; }

    public string ProductName { get; set; }
}
صدر کردن داده‌ها از یک مجموعه اشیاء به یک کاربرگ حاوی سلول‌های ادغام شده

صادرات داده‌ها به یک سند اکسل شامل سلول‌های ادغام شده

C# ردیف‌ها و ستون‌ها را از یک فایل اکسل به فایل دیگر کپی می‌کند

ما می‌توانیم به‌صورت برنامه‌نویسی ردیف‌ها و ستون‌ها را از یک سند Excel به دیگری کپی کنیم. هنگامی‌که یک ردیف (یا ستون) کپی می‌شود، داده‌های موجود در آن، از جمله فرمول‌ها – با مراجع به‌روز شده – و مقادیر، نظرات، فرمت‌بندی، سلول‌های پنهان، تصاویر و دیگر اشیاء ترسیمی نیز کپی می‌شوند. ما همچنین می‌توانیم ردیف‌ها و ستون‌ها را در داخل همان صفحه‌گسترده یا در صفحات‌گسترده مختلف در یک سند Excel کپی کنیم. Aspose.Cells متدهای زیر را برای کپی ردیف‌ها و ستون‌ها ارائه می‌دهد.

کد مثال زیر نشان می‌دهد که چگونه می‌توان ردیف‌ها را از یک سند اکسل به سند دیگر در C# کپی کرد.

// Open the source excel file.
Workbook srcWorkbook = new Workbook("Source_Workbook.xlsx");

// Instantiate the destination excel file.
Workbook destWorkbook = new Workbook();

// Get the first worksheet of the source workbook.
Worksheet srcWorksheet = srcWorkbook.Worksheets[0];

// Get the first worksheet of the destination workbook.
Worksheet desWorksheet = destWorkbook.Worksheets[0];

// Copy all the rows of the first worksheet of source Workbook to
// the first worksheet of destination Workbook.
desWorksheet.Cells.CopyRows(srcWorksheet.Cells, 0, 0, srcWorksheet.Cells.MaxDisplayRange.RowCount);

// Save the excel file.
destWorkbook.Save("Destination_Workbook.xlsx");

کد مثالی زیر نشان می‌دهد که چگونه می‌توان ردیف‌های خاصی از یک سند اکسل را به سند دیگری در C# کپی کرد.

// Open the source excel file.
Workbook srcWorkbook = new Workbook("Source_Workbook.xlsx");

// Instantiate the destination excel file.
Workbook destWorkbook = new Workbook();

// Get the first worksheet of the source workbook.
Worksheet srcWorksheet = srcWorkbook.Worksheets[0];

// Get the first worksheet of the destination workbook.
Worksheet desWorksheet = destWorkbook.Worksheets[0];

// Copy the second row of the source Workbook to the first row of destination Workbook.
desWorksheet.Cells.CopyRow(srcWorksheet.Cells, 1, 0);

// Copy the fourth row of the source Workbook to the second row of destination Workbook.
desWorksheet.Cells.CopyRow(srcWorksheet.Cells, 3, 1);

// Save the excel file.
destWorkbook.Save("Destination_Workbook.xlsx");
کپی داده‌های ردیف‌ها از یک سند اکسل به سند دیگر

ما می‌توانیم به طور مشابه داده‌های ستون را از یک سند مایکروسافت اکسل به سند دیگری با استفاده از CopyColumn یا CopyColumns متد کپی کنیم.

C# صادر کردن DataTable به Excel

داده‌ها از اشیاء ADO.NET مانند DataTable، DataColumn و DataView می‌توانند به برگه‌های اکسل صادر شوند. برای صادر کردن داده‌ها از یک DataTable، ما متد ImportData از مجموعه Cells را فراخوانی می‌کنیم. نسخه‌های زیادی از متد ImportData وجود دارد اما ما از نسخه زیر استفاده می‌کنیم:

public int ImportData(
	DataTable table,
	int firstRow,
	int firstColumn,
	ImportTableOptions options
)

توضیحاتی درباره پارامترها در زیر آمده است:

  • جدول DataTable شیء برای صادرات.
  • firstRow شماره ردیف اولین سلول برای صادرات.
  • firstColumn شماره ستون اولین سلول برای صادرات.
  • optionsType ImportTableOptions شیء.

در نمونه کد C# زیر، ما یک شی DataTable ایجاد می‌کنیم که سه ستون و دو ردیف دارد. و آن را به یک برگه Excel صادر می‌کنیم.

// 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(int));
dataTable.Columns.Add("Product Name", typeof(string));
dataTable.Columns.Add("Units In Stock", typeof(int));

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

// Setting IsFieldNameShown property to true will add column names // of the DataTable to the worksheet as a header row
ImportTableOptions tableOptions = new ImportTableOptions();
tableOptions.IsFieldNameShown = true;

// Exporting the contents of DataTable at the first row and first column.
worksheet.Cells.ImportData(dataTable, 0, 0, tableOptions);

// Saving the Excel file
workbook.Save("DataTable_Eport.xlsx");
استخراج DataTable به اکسل

Export DataTable to Excel

صادرات داده‌های ستون‌های انتخابی به اکسل در C#

ما می‌توانیم ستون‌های داده انتخابی از یک DataTable یا DataView را به یک سند Excel صادر کنیم. همانطور که قبلاً مورد بحث قرار گرفت، متد ImportData یک آرگومان از نوع ImportTableOptions را می‌پذیرد. کلاس ImportTableOptions دارای یک ویژگی ColumnIndexes است که یک آرایه از ایندکس‌های ستون (بر اساس صفر) را می‌پذیرد که می‌خواهیم صادر کنیم. در کد نمونه زیر، ما فقط دو ستون داده از یک DataTable را به یک Worksheet Excel در C# صادر می‌کنیم.

// Instantiating a "Products" DataTable object
DataTable dataTable = new DataTable("Products");

// Adding columns to the DataTable object
dataTable.Columns.Add("Product ID", typeof(int));
dataTable.Columns.Add("Product Name", typeof(string));
dataTable.Columns.Add("Units In Stock", typeof(int));

// 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 export options
ImportTableOptions importOptions = new ImportTableOptions();
// Sets the columns (0-based) to export from data source.
// null means all columns should be exported.
importOptions.ColumnIndexes = new int[] { 0, 1 };
importOptions.IsFieldNameShown = true;

// Exporting the values of 1st and 2nd columns of the data table
sheet.Cells.ImportData(dataTable, 0, 0, importOptions);

book.Save("DataColumsExport.xlsx");
صادرات داده‌های ستون‌های انتخابی به اکسل

خروجی DataColumns به Excel

صادرات داده از DataView به Excel در C#

یک DataView نمایی از یک DataTable است که می‌تواند برای ارائه یک زیرمجموعه از داده‌ها از DataTable سفارشی‌سازی شود. ما از نسخه بارگذاری شده زیر از روش ImportData برای صادر کردن داده‌ها از DataView به یک سند Excel استفاده می‌کنیم.

public int ImportData(
	DataView dataView,
	int firstRow,
	int firstColumn,
	ImportTableOptions options
)

ما می‌دانیم که دو روش برای ایجاد یک DataView وجود دارد. ما می‌توانیم از سازنده DataView استفاده کنیم یا می‌توانیم به ویژگی DefaultView از DataTable یک ارجاع ایجاد کنیم. در نمونه کد زیر، ما از روش دوم برای ایجاد یک DataView استفاده می‌کنیم.

worksheet.Cells.ImportData(dataTable.DefaultView, 0, 0, options);

از DataGrid و GridView داده‌ها را به Excel در C# صادر کنید

کتابخانه Aspose.Cells به ما اجازه می‌دهد داده‌ها را از کنترل‌های شبکه مایکروسافت مانند DataGrid و GridView به یک برگه اکسل در C# صادر کنیم. این کتابخانه متد ImportDataGrid را برای صادرات داده‌ها از DataGrid و متد ImportGridView را برای صادرات داده‌ها از GridView فراهم می‌کند.

نسخه‌های زیادی از روش ImportDataGrid وجود دارد، اما یک نسخه معمولی پارامترهای زیر را می‌گیرد:

  • dataGrid، شیء DataGrid که ما از آن محتوا را صادر می‌کنیم.
  • firstRow، شماره ردیف اولین سلولی که داده‌ها به آن صادر خواهد شد.
  • firstColumn، شماره ستون اولین سلولی که داده‌ها به آن صادر خواهد شد.
  • insertRows، یک ویژگی بولی که نشان می‌دهد آیا سطرهای اضافی باید به کاربرگ اضافه شوند تا داده‌ها را جا دهد.
  • importStyle، یک ویژگی Boolean است که نشان می‌دهد آیا سبک سلول باید صادر شود یا خیر.

کد نمونه زیر نشان می‌دهد که چگونه داده‌ها را از DataGrid به یک فایل Excel در C# صادر کنید.

// Create a DataTable object and set it as the DataSource of the DataGrid.
DataTable dataTable = new DataTable("Products");
dataTable.Columns.Add("Product ID", typeof(int));
dataTable.Columns.Add("Product Name", typeof(string));
dataTable.Columns.Add("Units In Stock", typeof(int));

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
DataGrid dg = new DataGrid();
dg.DataSource = dataTable;
dg.DataBind();

// We have a DataGrid object with some data in it.
// Lets export it to an Excel worksheet.

// Creat a new workbook
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];

// Exporting the contents of the DataGrid to the worksheet
worksheet.Cells.ImportDataGrid(dg, 0, 0, false);

// Save it as Excel file
workbook.Save("ExportDataGrid.xlsx");

صادر کردن داده‌های فرمت شده HTML به اکسل در C#

Aspose.Cells به شما اجازه می‌دهد داده‌های فرمت شده HTML را به یکWorksheet اکسل صادر کنید. API متن فرمت شده HTML را هنگام صادر کردن داده‌ها تجزیه می‌کند و HTML را به مقادیر فرمت شده سلول تبدیل می‌کند. در کد نمونه زیر، DataTable حاوی متن فرمت شده HTML است و ما آن را به یک سند اکسل با استفاده از ImportData روش صادر می‌کنیم.

// Prepare a DataTable with some HTML formatted values
DataTable dataTable = new DataTable("Products");

dataTable.Columns.Add("Product ID", typeof(int));
dataTable.Columns.Add("Product Name", typeof(string));
dataTable.Columns.Add("Units In Stock", typeof(int));

DataRow dr = dataTable.NewRow();
dr[0] = 1;
// Make text italicize
dr[1] = "<i>Aniseed</i> Syrup";
dr[2] = 15;
dataTable.Rows.Add(dr);

dr = dataTable.NewRow();
dr[0] = 2;
// Make text bold
dr[1] = "<b>Boston Crab Meat</b>";
dr[2] = 123;
dataTable.Rows.Add(dr);

// Create export options
ImportTableOptions exportOptions = new ImportTableOptions();
exportOptions.IsFieldNameShown = true;
// Set IsHtmlString property to true as the data contains HTML tags. 
exportOptions.IsHtmlString = true;

// Create workbook
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];

worksheet.Cells.ImportData(dataTable, 0, 0, exportOptions);

workbook.Save("HTMLFormattedData_Out.xlsx");
 داده های فرمت شده HTML به یک صفحه گسترده

خروجی داده‌های صادر شده HTML به یک سند Excel

فایل HTML را به اکسل در C# صادر کنید

Aspose.Cells به ما اجازه می‌دهد یک فایل HTML را به اکسل صادر کنیم. فایل HTML باید به گونه‌ای باشد که برای مایکروسافت اکسل مناسب باشد، به عبارت دیگر، MS-Excel باید قادر به باز کردن آن باشد.

// An HTML file
string filePath = "Book1.html";

// Instantiate LoadOptions specified by the LoadFormat.
HtmlLoadOptions loadOptions = new HtmlLoadOptions(LoadFormat.Html);

// Create a Workbook object and open the HTML file.
Workbook wb = new Workbook(filePath, loadOptions);

// Save the file as Excel Document
wb.Save("Book1_out.xlsx");

صادرات داده‌های JSON به Excel در C#

گاهی اوقات نیاز داریم داده‌های JSON را به یک سند Excel صادر کنیم. با استفاده از Aspose.Cells می‌توانیم این کار را به‌راحتی با چند خط کد انجام دهیم. Aspose.Cells یک کلاس به نام JsonUtility ارائه می‌دهد که دارای متد ImportData برای صادر کردن داده‌های JSON به یک سند Excel است. متد ImportData یک شیء از کلاس JsonLayoutOptions را به‌عنوان پارامتر می‌پذیرد. کلاس JsonLayoutOptions گزینه‌های مربوط به چیدمان JSON را نشان می‌دهد و شامل ویژگی‌های زیر است:

  • ArrayAsTable: مشخص می‌کند که آیا آرایه باید به‌عنوان یک جدول پردازش شود.
  • ConvertNumericOrDate: مقدار را دریافت یا تنظیم می‌کند تا مشخص شود که آیا رشته در JSON به عددی یا تاریخ تبدیل شود.
  • DateFormat: فرمت مقدار تاریخ را دریافت و تنظیم می‌کند.
  • IgnoreArrayTitle: مشخص می‌کند که آیا عنوان باید نادیده گرفته شود اگر ویژگی شیء یک آرایه باشد.
  • IgnoreNull: مشخص می‌کند که آیا مقدار null باید نادیده گرفته شود.
  • IgnoreObjectTitle: مشخص می‌کند که آیا عنوان باید نادیده گرفته شود اگر ویژگی شیء یک شیء باشد.
  • NumberFormat: فرمت مقدار عددی را دریافت و تنظیم می‌کند.
  • TitleStyle: سبک عنوان را دریافت و تنظیم می‌کند.

در کد مثال زیر، ما داده‌های JSON را به یک فایل اکسل در C# صادر می‌کنیم.

// Instantiating a Workbook object
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];

// Read JSON file
string jsonInput = File.ReadAllText("Sample.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;

// Export JSON Data
JsonUtility.ImportData(jsonInput, worksheet.Cells, 0, 0, options);

// Save Excel file
workbook.Save("ExportingJsonData.xlsx");
{
  "quiz": {
    "sport": {
      "q1": {
        "question": "Which one is correct team name in NBA?",
        "answer": "Huston Rocket"
      }
    },
    "maths": {
      "q1": {
        "question": "5 + 7 = ?",
        "answer": "12"
      },
      "q2": {
        "question": "12 - 8 = ?",
        "answer": "4"
      }
    }
  }
}
داده‌های JSON به یک سند اکسل

صادرات داده‌های JSON به اکسل

صادرات داده‌های CSV به Excel در C#

یک فایل مقادیر جدا شده با ویرگول (CSV) یک فایل متنی با تقسیم کننده است که از ویرگول برای جدا کردن مقادیر استفاده می‌کند. یک فایل CSV معمولاً داده‌های جدولی (اعداد و متن) را در متن ساده ذخیره می‌کند، که در این صورت هر خط دارای همان تعداد فیلد خواهد بود.

نمونه کد زیر نشان می‌دهد که چگونه می‌توانیم یک فایل CSV را باز کرده و آن را به عنوان یک فایل اکسل با استفاده از کتابخانه Aspose.Cells ذخیره کنیم.

// Instantiate LoadOptions with CSV LoadFormat.
LoadOptions loadOptions = new LoadOptions(LoadFormat.CSV);

// Open CSV file as a Workbook object
Workbook wb = new Workbook("Business-Price.csv", loadOptions);

// Save the file as an Excel Documnt
wb.Save("CSVAsAnExcelDocument.xlsx");
یک فایل CSV را در یک سند صفحه گسترده باز کنید

CSV به یک سند اکسل

نتیجه گیری

در این پست، دیده‌اید که چگونه به آسانی می‌توانید داده‌ها را از آرایه، DataTable، DataView، DataGrid و GridView به Excel در C# صادر کنید. همچنین شما نحوه‌ی صادرات HTML، JSON، و CSV داده‌ها به یک برگه Excel را مشاهده کرده‌اید. لطفاً documentation را برای یادگیری بیشتر درباره‌ی این و چندین ویژگی دیگر که API Aspose.Cells ارائه می‌دهد، بررسی کنید. اگر سوالی دارید، لطفاً با کمال میل از طریق Support Forum با ما تماس بگیرید.

همچنین ببینید