Экспорт данных из листа в .NET
Обзор
В этой статье объясняется, как экспортировать данные вашего листа в объект DataTable с использованием C#. Она охватывает следующие темы
Формат: Excel
- C# Excel в DataTable
- C# Конвертировать Excel в DataTable
- C# Импортировать Excel в DataTable
- C# Экспортировать в DataTable из Excel
Формат: XLS
- C# XLS в DataTable
- C# Конвертировать XLS в DataTable
- C# Импортировать XLS в DataTable
- C# Экспортировать в DataTable из XLS
Формат: XLSX
- C# XLSX в DataTable
- C# Преобразовать XLSX в DataTable
- C# Импортировать XLSX в DataTable
- C# Экспорт в DataTable из XLSX
Формат: ODS
- C# ODS в DataTable
- C# Преобразовать ODS в DataTable
- C# Импортировать ODS в DataTable
- C# Экспорт в DataTable из ODS
Как экспортировать данные Excel с помощью C#
Как экспортировать данные из листа
Aspose.Cells не только облегчает своим пользователям импорт данных в листы из внешних источников данных, но также позволяет экспортировать данные своих листов в DataTable. Как мы знаем, что DataTable является частью ADO.NET и используется для хранения данных. Когда данные хранятся в DataTable, их можно использовать любым способом в соответствии с требованиями пользователей. Разработчики также могут непосредственно сохранять эти данные (хранятся в DataTable) в базу данных при необходимости. Таким образом, мы видим, что разработчикам становится проще манипулировать данными листа, если они экспортируются в DataTable.
Как экспортировать данные в DataTable с помощью Aspose.Cells
Разработчики могут легко экспортировать данные своих листов в объект DataTable, вызывая либо метод ExportDataTable, либо метод ExportDataTableAsString класса Cells. Оба метода используются в различных сценариях, которые подробно обсуждаются ниже.
Столбцы, содержащие строго типизированные данные
Мы знаем, что электронная таблица хранит данные в виде последовательности строк и столбцов. Если все значения в столбцах листа являются строго типизированными (то есть все значения в столбце должны иметь тот же тип данных), то мы можем экспортировать содержимое листа, вызвав метод ExportDataTable класса Cells. Метод ExportDataTable принимает следующие параметры для экспорта данных листа в объект DataTable:
- Номер строки, номер строки первой ячейки данных, которые будут экспортированы.
- Номер столбца, номер столбца первой ячейки, из которого будут экспортироваться данные.
- Количество строк, количество строк для экспорта.
- Количество столбцов, количество столбцов для экспорта.
- Экспорт имен столбцов, логическое свойство, указывающее, должны ли данные в первой строке листа быть экспортированы в виде имен столбцов для DataTable или нет.
Шаги: Экспорт данных в DataTable
- Шаги: Excel to DataTable in C#
- Шаги: Convert Excel to DataTable in C#
- Шаги: Import Excel to DataTable in C#
- Шаги: Export to DataTable from Excel in C#
Шаги кода:
- Загрузите свой файл Excel в объект Workbook.
- Объект Workbook может загружать форматы файлов Excel, например XLS, XLSX, XLSM, ODS и др.
- Получите доступ к первому Worksheet в файле Excel.
- Выберите область экспорта, например 7 строк и 2 столбца, начиная с 1-й ячейки DataTable.
- Используйте метод ExportDataTable для экспорта данных в 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); | |
string filePath = dataDir + "Book1.xlsx"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(filePath); | |
// Accessing the first worksheet in the Excel file | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Exporting the contents of 7 rows and 2 columns starting from 1st cell to DataTable | |
DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0, 11, 2, true); | |
foreach (DataRow r in dataTable.Rows) | |
{ | |
foreach (DataColumn c in dataTable.Columns) | |
{ | |
Double value = r.Field<Double>(c); | |
Console.Write(value + " "); | |
} | |
Console.WriteLine(); | |
} |
Столбцы, содержащие нестрого типизированные данные
Если все значения в столбцах рабочего листа не являются явно заданными типами (это означает, что значения в столбце могут иметь разные типы данных), то мы можем экспортировать содержимое рабочего листа, вызвав метод ExportDataTableAsString класса Cells. Метод ExportDataTableAsString принимает те же параметры, что и метод ExportDataTable, для экспорта данных рабочего листа в объект 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); | |
string filePath = dataDir + "Book1.xlsx"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(filePath); | |
// Accessing the first worksheet in the Excel file | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Exporting the contents of 7 rows and 2 columns starting from 1st cell to DataTable | |
DataTable dataTable = worksheet.Cells.ExportDataTableAsString(0, 0, 11, 2, true); | |
foreach (DataRow r in dataTable.Rows) | |
{ | |
foreach (DataColumn c in dataTable.Columns) | |
{ | |
string value = r.Field<string>(c); | |
Console.Write(value + " "); | |
} | |
Console.WriteLine(); | |
} |
Как экспортировать диапазон с заголовком
Данные из диапазона могут быть экспортированы в DataTable, где доступен флаг для пропуска заголовочной строки в экспортированных данных. Нижеприведенный код экспортирует диапазон данных в DataTable с аргументом ExportTableOptions, который содержит флаг ExportColumnName. Он установлен в true, если информация о заголовке есть, следовательно, ее не будет включено в данные, и установлен в false, если заголовок отсутствует, и все строки должны быть рассмотрены как данные.
// 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 sourceDir = RunExamples.Get_SourceDirectory(); | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(sourceDir + "Names.xlsx"); | |
// Instantiating a WorkbookDesigner object | |
WorkbookDesigner designer = new WorkbookDesigner(workbook); | |
// Accessing the range having name "Names" | |
var range = designer.Workbook.Worksheets.GetRangeByName("Names"); | |
// Instantiating the ExportTableOptions object | |
ExportTableOptions options = new ExportTableOptions(); | |
// Setting the ExportColumnName flag to true shows that first line is header and not part of data | |
options.ExportColumnName = true; | |
// Exporting data with the selected information | |
var dataTable = range.ExportDataTable(options); |
Продвинутые темы
- Экспорт данных Excel в DataTable без форматирования
- Экспорт значений HTML-строки ячеек в DataTable
- Экспорт видимых строк данных из рабочего листа
- Игнорировать скрытые столбцы при экспорте данных рабочего листа в таблицу данных
- Автоматическое переименование дублирующихся столбцов при экспорте данных рабочего листа