У цьому короткому посібнику ви дізнаєтесь, як конвертувати DataTable у Excel на C#. Спочатку ми створимо DataTable, а потім імпортуємо його на аркуш щойно створеного об’єкта робочої книги за допомогою функції ImportData класу WorkSheet.Cells. Після запису даних DataTable до Excel на C# ми збережемо їх як файл XLSX на диску.
Кроки для перетворення DataTable в Excel на C#
- Використовуючи менеджер пакетів NuGet, додайте Aspose.Cells for .NET, щоб імпортувати DataTable в Excel
- Створіть екземпляр порожнього Workbook для експорту до нього DataTable
- Створіть та ініціалізуйте DataTable для запису у файл Excel
- Оголосити об’єкт класу ImportTableOptions для налаштування параметрів під час імпорту даних із DataTable
- Отримайте посилання на перший аркуш у щойно створеній книзі
- Викличте функцію Cells.ImportData у класі WorkSheet, щоб імпортувати DataTable
- Збережіть отриману книгу з даними з DataTable
У цих кроках описується процес експорту даних із DataTable до Excel у C# у покроковій манері, так що спочатку створюється порожня книга, а потім DataTable ініціалізується та заповнюється деякими фіктивними даними. Створюється об’єкт класу ImportTableOptions, який містить багато параметрів, які можна встановити, але тут використовуються параметри за замовчуванням. Зрештою DataTable імпортується на перший робочий аркуш Workbook у вказану початкову клітинку.
Код для експорту даних DataTable до Excel на C#
using System; | |
using System.Data; | |
using Aspose.Cells; | |
namespace ConvertDataTableToExcelInCSharp | |
{ | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
// Use Aspose.Cells license to remove trial version watermark from the Excel file after exporting DataTable | |
License licenseForCells = new License(); | |
licenseForCells.SetLicense("Aspose.Cells.lic"); | |
// Create an object of a workbook to export DataTable | |
Workbook workbookForDataTable = new Workbook(); | |
// Create a sample DataTable for the student | |
DataTable studentTable = new DataTable("Student"); | |
// Add multiple columns in the newly created DataTable | |
studentTable.Columns.Add("Roll No", typeof(long)); | |
studentTable.Columns.Add("Age", typeof(short)); | |
studentTable.Columns.Add("Name", typeof(string)); | |
// Create a new row for adding to the data table | |
DataRow studentRecord = studentTable.NewRow(); | |
// Set the fields data in the row | |
studentRecord["Roll No"] = 1002; | |
studentRecord["Age"] = 19; | |
studentRecord["Name"] = "Alfred Keam"; | |
// Add this newly created record into the student table | |
studentTable.Rows.Add(studentRecord); | |
// Create another row for the student table | |
studentRecord = studentTable.NewRow(); | |
// Set data in the newly created row | |
studentRecord["Roll No"] = 1003; | |
studentRecord["Age"] = 20; | |
studentRecord["Name"] = "Bernadette Thares"; | |
// Add this record to the student table | |
studentTable.Rows.Add(studentRecord); | |
// Instantiate an object of ImportTableOptions for controlling the import of DataTable into Excel | |
ImportTableOptions importOptions = new ImportTableOptions(); | |
// Get reference to the first worksheet in the workbook | |
Worksheet dataTableWorksheet = workbookForDataTable.Worksheets[0]; | |
// Call the ImportData function to import DataTable starting from cell A1 described by row 0 and column 0 | |
dataTableWorksheet.Cells.ImportData(studentTable, 0, 0, importOptions); | |
// Set the columns width so that entire data is visible within the cell | |
dataTableWorksheet.AutoFitColumns(); | |
// Save the output workbook on the disc | |
workbookForDataTable.Save("DataTableImported.xlsx"); | |
} | |
} | |
} |
У цьому коді ImportTableOptions використовується з налаштуваннями за замовчуванням, однак ви можете встановити різноманітні параметри, як-от список із 0 номерів стовпців на основі індексів, дані яких мають бути імпортовані з DataTable, встановити формат дати, встановити загальну кількість рядків і стовпців, які будуть імпортні та багато іншого. Ви також можете вирішити, імпортувати заголовки стовпців чи ні.
У цьому короткому посібнику пояснюється, як у C# створити файл Excel із DataTable. Якщо ви хочете навчитися зворотному процесу, як-от перетворення Excel на DataTable, зверніться до статті як конвертувати Excel в DataTable на C#.