Importar y Exportar Datos

Importar Datos en una Hoja de Cálculo

Los datos representan el mundo tal como es. Para dar sentido a los datos, los analizamos y obtenemos una comprensión del mundo. Los datos se convierten en información.

Hay muchas formas de realizar análisis: poner datos en hojas de cálculo y manipularlos de diferentes maneras es un método común. Con Aspose.Cells, es fácil crear hojas de cálculo que toman datos de una variedad de fuentes externas y los preparan para su análisis.

Este artículo trata sobre algunas técnicas de importación de datos a las que los desarrolladores tienen acceso a través de Aspose.Cells.

Importar Datos Usando Aspose.Cells

Cuando abres un archivo de Excel con Aspose.Cells, todos los datos del archivo se importan automáticamente. Aspose.Cells también puede importar datos de otras fuentes de datos:

Aspose.Cells proporciona una clase, Workbook, que representa un archivo de Microsoft Excel. La clase Workbook contiene la colección WorksheetCollection que permite acceder a cada hoja de cálculo en el archivo de Excel. Una hoja de cálculo está representada por la clase Worksheet. La clase Worksheet proporciona una colección Cells. La colección Cells proporciona métodos muy útiles para importar datos de otras fuentes de datos. Este artículo explica cómo se pueden usar estos métodos.

Importar desde un Arreglo

Para importar datos a una hoja de cálculo desde un arreglo, llama al método importArray de la colección Cells. Hay muchas versiones sobrecargadas del método importArray pero una sobrecarga típica toma los siguientes parámetros:

  • Array, el objeto array desde el que estás importando contenido.
  • Número de fila, el número de fila de la primera celda a la que se importarán los datos.
  • Número de columna, el número de columna de la primera celda a la que se importarán los datos.
  • Es vertical, un valor booleano que especifica si se importarán los datos vertical u horizontalmente.
// 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");

Importar desde Arreglos Multidimensionales

Para importar datos a una hoja de cálculo desde arreglos multidimensionales, llama a la sobrecarga relevante de importArray de la colección 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");

Importación desde un ArrayList

Para importar datos de un ArrayList a las hojas de cálculo, llame al método ImportArrayList de la colección Cells. El método ImportArrayList toma los siguientes parámetros:

  • ArrayList, el objeto ArrayList cuyo contenido se importará.
  • Número de fila, el número de fila de la primera celda del rango de celdas desde el cual se importarán los contenidos.
  • Número de columna, el número de columna de la primera celda desde la cual se importarán los datos.
  • Es Vertical, es un valor booleano que especifica si importar datos vertical u horizontalmente.
// 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");

Importación desde Objetos Personalizados a un área fusionada

Para importar datos de una colección de objetos a una hoja de cálculo que contiene celdas fusionadas, use la propiedad ImportTableOptions.CheckMergedCells. Si la plantilla de Excel tiene celdas fusionadas, establezca el valor de la propiedad ImportTableOptions.CheckMergedCells en true. Pase el objeto ImportTableOptions junto con la lista de columnas/propiedades al método para mostrar su lista deseada de objetos. El siguiente ejemplo de código demuestra el uso de la propiedad ImportTableOptions.CheckMergedCells para importar datos de Objetos Personalizados a celdas fusionadas. Consulte el archivo de Excel fuente adjunto (90112035.xlsx) y el archivo de Excel de salida (90112036.xlsx) para obtener referencias.

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

Importación de Datos desde JSON

Aspose.Cells proporciona una clase JsonUtility para procesar JSON. La clase JsonUtility tiene un método ImportData para importar datos JSON. Aspose.Cells también proporciona una clase JsonLayoutOptions que representa las opciones del diseño JSON. El método ImportData acepta JsonLayoutOptions como parámetro. La clase JsonLayoutOptions proporciona las siguientes propiedades.

  • ArrayAsTable: Indica si el arreglo debe procesarse como una tabla o no.
  • ConvertNumericOrDate: Obtiene o establece un valor que indica si la cadena en JSON debe convertirse a numérico o fecha.
  • DateFormat: Obtiene y establece el formato del valor de fecha.
  • IgnoreArrayTitle: Indica si se debe ignorar el título si la propiedad del objeto es un array.
  • IgnoreNull: Indica si el valor nulo debe ser ignorado o no.
  • IgnoreObjectTitle: Indica si se debe ignorar el título si la propiedad del objeto es un objeto.
  • NumberFormat: Obtiene y establece el formato del valor numérico.
  • TitleStyle: Obtiene y establece el estilo del título.

El código de muestra a continuación demuestra el uso de las clases JsonUtility y JsonLayoutOptions para importar datos 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");

Exportar Datos desde la Hoja de Cálculo

Aspose.Cells no solo permite a sus usuarios importar datos a las hojas de cálculo desde fuentes de datos externas, sino que también les permite exportar datos de la hoja de cálculo a un array.

Exportar datos usando Aspose.Cells - Exportar datos a un array

Aspose.Cells proporciona una clase, Workbook, que representa un archivo de Microsoft Excel. La clase Workbook contiene un WorksheetCollection que permite el acceso a cada hoja de cálculo en el archivo de Excel. Una hoja de cálculo está representada por la clase Worksheet. La clase Worksheet proporciona una colección Cells.

Los datos pueden exportarse fácilmente a un objeto Array usando el método exportArray de la clase Cells.

Columnas que contienen datos de tipo fuertemente tipado

Las hojas de cálculo almacenan datos como una secuencia de filas y columnas. Use el método exportArray para exportar los datos de una hoja de cálculo a un array. exportArray toma los siguientes parámetros para exportar los datos de la hoja de cálculo como un objeto Array:

  • Número de fila, el número de fila de la primera celda desde la cual se exportarán los datos.
  • Número de columna, el número de columna de la primera celda desde donde se exportarán los datos.
  • Número de filas, el número de filas a exportar.
  • Número de columnas, el número de columnas a exportar.
// 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();

Temas avanzados