Импорт и экспорт данных

Импорт данных в лист

Данные представляют мир таким, каков он есть. Чтобы понять данные, мы анализируем их и приобретаем понимание мира. Данные превращаются в информацию.

Существует много способов анализа: одним из распространенных методов является ввод данных в электронные таблицы и их манипулирование различными способами. С Aspose.Cells легко создавать электронные таблицы, которые берут данные из ряда внешних источников и готовят их к анализу.

В этой статье обсуждаются некоторые техники импорта данных, к которым разработчики имеют доступ через Aspose.Cells.

Импорт данных с использованием Aspose.Cells

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

Aspose.Cells предоставляет класс Workbook, который представляет файл Microsoft Excel. Класс Workbook содержит коллекцию WorksheetCollection, которая позволяет получать доступ к каждому листу в файле Excel. Лист представлен классом Worksheet. Класс Worksheet предоставляет коллекцию Cells. Коллекция Cells предоставляет очень полезные методы для импорта данных из других источников данных. В этой статье объясняется, как можно использовать эти методы.

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

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

  • Массив, объект массива, из которого вы импортируете содержимое.
  • Номер строки, номер строки первой ячейки, в которую будет импортировано содержимое.
  • Номер столбца, номер столбца первой ячейки, в которую будет импортировано содержимое.
  • Вертикальный, логическое значение, указывающее, следует ли импортировать данные вертикально или горизонтально.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(ImportingFromArray.class) + "data/";
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Obtaining the reference of the worksheet
Worksheet worksheet = workbook.getWorksheets().get(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
Cells cells = worksheet.getCells();
cells.importArray(names, 0, 0, false);
// Saving the Excel file
workbook.save(dataDir + "ImportingFromArray_out.xls");
// Printing the name of the cell found after searching worksheet
System.out.println("Process completed successfully");

Импорт из многомерных массивов

Чтобы импортировать данные в таблицу из многомерных массивов, вызовите соответствующую перегрузку метода importArray коллекции Cells.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(ImportingFromMultiDimensionalArray.class) + "data/";
// Instantiate a new Workbook
Workbook workbook = new Workbook();
// Get the first worksheet (default sheet) in the Workbook
Cells cells = workbook.getWorksheets().get("Sheet1").getCells();
// Define a multi-dimensional array and store some data into it.
String[][] strArray = { { "A", "1A", "2A" }, { "B", "2B", "3B" } };
// Import the multi-dimensional array to the sheet
cells.importArray(strArray, 0, 0);
// Save the Excel file
workbook.save(dataDir + "IFMDA_out.xlsx");

Импорт из ArrayList

Чтобы импортировать данные из ArrayList в листы, вызовите метод ImportArrayList коллекции Cells. Метод ImportArrayList принимает следующие параметры:

  • ArrayList, объект ArrayList, содержимое которого будет импортировано.
  • Номер строки, номер строки первой ячейки диапазона ячеек, из которого будет импортировано содержимое.
  • Номер столбца, номер столбца первой ячейки, из которой будут импортированы данные.
  • Вертикальный, логическое значение, указывающее, следует ли импортировать данные вертикально или горизонтально.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(ImportingFromArrayList.class) + "data/";
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Obtaining the reference of the worksheet
Worksheet worksheet = workbook.getWorksheets().get(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.getCells().importArrayList(list, 0, 0, true);
// Saving the Excel file
workbook.save(dataDir + "IFromArrayList_out.xls");
// Printing the name of the cell found after searching worksheet
System.out.println("Process completed successfully");

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

Чтобы импортировать данные из коллекции объектов в лист, содержащий объединенные ячейки, используйте свойство ImportTableOptions.CheckMergedCells. Если в шаблоне Excel есть объединенные ячейки, установите значение свойства ImportTableOptions.CheckMergedCells в true. Передайте объект ImportTableOptions вместе со списком столбцов/свойств в метод для отображения выбранного списка объектов. В следующем примере кода демонстрируется использование свойства ImportTableOptions.CheckMergedCells для импорта данных из пользовательских объектов в объединенные ячейки. См. прикрепленные файлы исходного Excel и результирующего Excel для справки.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(ImportingFromArrayList.class) + "data/";
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Obtaining the reference of the worksheet
Worksheet worksheet = workbook.getWorksheets().get(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.getCells().importArrayList(list, 0, 0, true);
// Saving the Excel file
workbook.save(dataDir + "IFromArrayList_out.xls");
// Printing the name of the cell found after searching worksheet
System.out.println("Process completed successfully");

Импорт данных из JSON

Aspose.Cells предоставляет класс JsonUtility для обработки JSON. У класса JsonUtility есть метод ImportData для импорта данных JSON. Aspose.Cells также предоставляет класс JsonLayoutOptions, представляющий опции макета JSON. Метод ImportData принимает JsonLayoutOptions в качестве параметра. Класс JsonLayoutOptions предоставляет следующие свойства.

  • ArrayAsTable: Указывает, должен ли массив обрабатываться как таблица или нет.
  • ConvertNumericOrDate: Получает или задает значение, указывающее, должна ли строка в JSON преобразовываться в числовую или дату.
  • DateFormat: Получает и задает формат значения даты.
  • IgnoreArrayTitle: Указывает, следует ли игнорировать заголовок, если свойство объекта является массивом.
  • IgnoreNull: Указывает, следует ли игнорировать значение null или нет.
  • IgnoreObjectTitle: Указывает, следует ли игнорировать заголовок, если свойство объекта является объектом.
  • NumberFormat: Получает и задает формат числового значения.
  • TitleStyle: Получает и задает стиль заголовка.

Приведенный ниже образец кода демонстрирует использование классов JsonUtility и JsonLayoutOptions для импорта данных из JSON.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(ImportingFromJson.class) + "Data/";
// Instantiating a Workbook object
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.getWorksheets().get(0);
// Read File
File file = new File(dataDir + "Test.json");
BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
String jsonInput = "";
String tempString;
while ((tempString = bufferedReader.readLine()) != null) {
jsonInput = jsonInput + tempString;
}
bufferedReader.close();
// Set Styles
CellsFactory factory = new CellsFactory();
Style style = factory.createStyle();
style.setHorizontalAlignment(TextAlignmentType.CENTER);
style.getFont().setColor(Color.getBlueViolet());
style.getFont().setBold(true);
// Set JsonLayoutOptions
JsonLayoutOptions options = new JsonLayoutOptions();
options.setTitleStyle(style);
options.setArrayAsTable(true);
// Import JSON Data
JsonUtility.importData(jsonInput, worksheet.getCells(), 0, 0, options);
// Save Excel file
workbook.save(dataDir + "ImportingFromJson.out.xlsx");

Экспорт данных из листа

Aspose.Cells позволяет пользователям не только импортировать данные в листы из внешних источников данных, но также экспортировать данные листа в массив.

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

Aspose.Cells предоставляет класс Workbook, который представляет файл Microsoft Excel. Класс Workbook содержит WorksheetCollection, позволяющий доступ к каждому листу в файле Excel. Лист представлен классом Worksheet. Класс Worksheet предоставляет коллекцию Cells.

Данные можно легко экспортировать в объект Array, используя метод exportArray класса Cells.

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

Таблицы сохраняют данные в виде последовательности строк и столбцов. Используйте метод exportArray для экспорта данных из листа в массив. Для экспорта данных листа в объект Array используются следующие параметры: exportArray

  • Номер строки, номер первой ячейки, из которой будет экспортированы данные.
  • Номер столбца, номер первой ячейки, из которой будет экспортированы данные.
  • Количество строк, количество строк для экспорта.
  • Количество столбцов, количество столбцов для экспорта.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(ExportingDataFromWorksheets.class) + "Data/";
// Creating a file stream containing the Excel file to be opened
FileInputStream fstream = new FileInputStream(dataDir + "book1.xls");
// Instantiating a Workbook object
Workbook workbook = new Workbook(fstream);
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.getWorksheets().get(0);
// Exporting the contents of 7 rows and 2 columns starting from 1st cell
// to Array.
Object dataTable[][] = worksheet.getCells().exportArray(0, 0, 7, 2);
// Printing the number of rows exported
System.out.println("No. Of Rows Exported: " + dataTable.length);
// Closing the file stream to free all resources
fstream.close();

Продвинутые темы