Импорт Экспорт данных из документа

Импорт данных из документа

Данные — это набор необработанных фактов, и мы создаем электронные таблицы или отчеты, чтобы представить эти необработанные факты в более осмысленном виде. Обычно мы сами добавляем данные в электронные таблицы, но иногда нам нужно повторно использовать существующие ресурсы данных, и здесь возникает необходимость импортировать данные в электронные таблицы из разных источников данных. В этом разделе мы обсудим некоторые методы импорта данных на рабочие листы из разных источников данных.

Импорт данных с помощью Aspose.Cells

Когда вы используетеAspose.Cells чтобы открыть файл Excel, все данные в файле импортируются автоматически, но Aspose.Cells также поддерживает импорт данных из разных источников данных. Некоторые из этих источников данных перечислены ниже:

  • Множество
  • ArrayList
  • Таблица данных
  • столбец данных
  • Просмотр данных
  • DataGrid
  • DataReader
  • Вид сетки

Aspose.Cells предоставляет класс,Рабочая тетрадь который представляет файл Excel. Класс Workbook содержит коллекцию Worksheets, которая позволяет получить доступ к каждому рабочему листу в файле Excel. Рабочий лист представлен классом Worksheet. Класс Worksheet предоставляет коллекцию Cells.

Коллекция Cells предоставляет очень полезные методы для импорта данных из разных источников данных.

Импорт из массива

Разработчики могут импортировать данные из массива на свои рабочие листы, вызвав методИмпортМассив метод коллекции Cells. Существует много перегруженных версий метода ImportArray, но типичная перегрузка принимает следующие параметры:

  • Массив представляет объект массива, содержимое которого необходимо импортировать.
  • Номер строки представляет собой номер строки первой ячейки, в которую будут импортированы данные.
  • Номер столбца, представляет номер столбца первой ячейки, в которую будут импортированы данные.
  • Вертикально, логическое значение, указывающее, импортировать ли данные вертикально или горизонтально.
//Instantiating a Workbook object

Workbook workbook = new Workbook();

//Adding a new worksheet to the Workbook object

int i = workbook.Worksheets.Add();

//Obtaining the reference of the newly added worksheet by passing its sheet index

Worksheet worksheet = workbook.Worksheets[i];

//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(MyDir+"DataImport from Array.xls");

Импорт из ArrayList

Разработчики могут импортировать данные из списка ArrayList в свои рабочие листы, вызвав методИмпортмассивлист метод коллекции Cells. Метод ImportArray принимает следующие параметры:ArrayList , представляет объект ArrayList, содержимое которого необходимо импортировать

  • Номер строки представляет собой номер строки первой ячейки, в которую будут импортированы данные.
  • Номер столбца представляет номер столбца первой ячейки, в которую будут импортированы данные.
  • Является Вертикальным логическим значением, указывающим на импорт данных по вертикали или по горизонтали.
//Instantiating a Workbook object

Workbook workbook = new Workbook();

//Adding a new worksheet to the Workbook object

int i = workbook.Worksheets.Add();

//Obtaining the reference of the newly added worksheet by passing its sheet index

Worksheet worksheet = workbook.Worksheets[i];

//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(MyDir + "DataImport from Array List.xls");

Импорт из пользовательских объектов

Разработчики могут импортировать данные из коллекции объектов на рабочий лист, используяИмпорт пользовательских объектов. Вы можете предоставить список столбцов/свойств методу для отображения желаемого списка объектов.

//Instantiate a new Workbook

Workbook book = new Workbook();

//Clear all the worksheets

book.Worksheets.Clear();

//Add a new Sheet "Data";

Worksheet sheet = book.Worksheets.Add("Data");

//Define List

List<WeeklyItem> list = new List<WeeklyItem>();

//Add data to the list of objects

list.Add(new WeeklyItem() { AtYarnStage = 1, InWIPStage = 2, Payment = 3, Shipment = 4, Shipment2 = 5 });

list.Add(new WeeklyItem() { AtYarnStage = 5, InWIPStage = 9, Payment = 7, Shipment = 2, Shipment2 = 5 });

list.Add(new WeeklyItem() { AtYarnStage = 7, InWIPStage = 3, Payment = 3, Shipment = 8, Shipment2 = 3 });

//We pick a few columns not all to import to the worksheet

sheet.Cells.ImportCustomObjects((System.Collections.ICollection)list,

new string[]{ "Date", "InWIPStage", "Shipment", "Payment" },

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(MyDir+"ImportedCustomObjects.xls");

Импорт из DataTable

Разработчики могут импортировать данные изТаблица данных к своим рабочим листам, позвонив вТаблица ИмпортДанных метод коллекции Cells. Существует множество перегруженных версийТаблица ИмпортДанных метод, но типичная перегрузка принимает следующие параметры:Таблица данных , представляетТаблица данных объект, содержимое которого нужно импортировать

  • Отображается ли имя поля, указывает, следует ли импортировать имена столбцов DataTable на лист в качестве первой строки или нет.
  • Начало Cell представляет имя начальной ячейки (например, «A1»), откуда импортируется содержимое DataTable.
//Instantiating a Workbook object

Workbook workbook = new Workbook();

//Adding a new worksheet to the Workbook object

int i = workbook.Worksheets.Add();

//Obtaining the reference of the newly added worksheet by passing its sheet index

Worksheet worksheet = workbook.Worksheets[i];

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

worksheet.Cells.ImportDataTable(dataTable, true, "A1");

workbook.Save(MyDir+"Import From Data Table.xls");

Скачать пример кода

Экспорт данных из документа

Aspose.Cells не только облегчает пользователям импорт данных в рабочие листы из внешних источников данных, но также позволяет им экспортировать данные своих рабочих листов вТаблица данных . Как мы знаем, чтоТаблица данных является частью ADO.NET и используется для хранения данных. Как только данные сохраняются вТаблица данных, его можно использовать любым способом в соответствии с требованиями пользователей.

Экспорт данных в DataTable (.NET) с использованием Aspose.Cells

Разработчики могут легко экспортировать данные своего рабочего листа в объект DataTable, вызвав метод ExportDataTable или ExportDataTableAsString класса Cells. Оба метода используются в разных сценариях, которые более подробно обсуждаются ниже.

Столбцы, содержащие строго типизированные данные

Мы знаем, что электронная таблица хранит данные в виде последовательности строк и столбцов. Если все значения в столбцах рабочего листа строго типизированы (это означает, что все значения в столбце должны иметь один и тот же тип данных), мы можем экспортировать содержимое рабочего листа, вызвав методТаблица ЭкспортДанных метод класса Cells.Таблица ЭкспортДанных метод принимает следующие параметры для экспорта данных листа какТаблица данных объект:Номер строки , представляет номер строки первой ячейки, из которой будут экспортированы данные.

  • Номер столбца , представляет номер столбца первой ячейки, из которой будут экспортированы данные
  • Количество рядов , представляет количество строк для экспорта
  • Число столбцов представляет количество столбцов для экспорта
  • Экспорт имен столбцов , логическое свойство, указывающее, следует ли экспортировать данные в первой строке рабочего листа как имена столбцов таблицы данных или нет.
//Creating a file stream containing the Excel file to be opened

FileStream fstream = new FileStream(FOD_OpenFile.FileName, FileMode.Open);

//Instantiating a Workbook object

//Opening the Excel file through the file stream

Workbook workbook = new Workbook(fstream);

//Accessing the first worksheet in the Excel file

Worksheet worksheet = workbook.Worksheets[0];

//Exporting the contents of 2 rows and 2 columns starting from 1st cell to DataTable

DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0,2, 2, true);

//Binding the DataTable with DataGrid

dataGridView1.DataSource = dataTable;

//Closing the file stream to free all resources

fstream.Close();

Столбцы, содержащие не строго типизированные данные

Если все значения в столбцах рабочего листа не являются строго типизированными (это означает, что значения в столбце могут иметь разные типы данных), мы можем экспортировать содержимое рабочего листа, вызвав методЭкспортдататаблеасстринг метод класса Cells.Экспортдататаблеасстринг метод принимает тот же набор параметров, что иТаблица ЭкспортДанных метод экспорта данных рабочего листа какТаблица данных объект.

//Creating a file stream containing the Excel file to be opened

FileStream fstream = new FileStream(FOD_OpenFile.FileName, FileMode.Open);

//Instantiating a Workbook object

//Opening the Excel file through the file stream

Workbook workbook = new Workbook(fstream);

//Accessing the first worksheet in the Excel file

Worksheet worksheet = workbook.Worksheets[0];

//Exporting the contents of 2 rows and 2 columns starting from 1st cell to DataTable

DataTable dataTable = worksheet.Cells.ExportDataTableAsString(0, 0, 2, 2, true);

//Binding the DataTable with DataGrid

dataGridView2.DataSource = dataTable;

//Closing the file stream to free all resources

fstream.Close();

Скачать пример кода