Importa ed esporta dati

Importa Dati nel Foglio di Lavoro

I dati rappresentano il mondo così com’è. Per dare un senso ai dati, li analizziamo e acquisiamo una comprensione del mondo. I dati si trasformano in informazioni.

Ci sono molti modi di effettuare analisi: inserire dati nei fogli di calcolo e manipolarli in modi diversi è un metodo comune. Con Aspose.Cells, è facile creare fogli di calcolo che prelevano dati da una serie di fonti esterne e li preparano per l’analisi.

Questo articolo discute alcune tecniche di importazione dati a cui i programmatori hanno accesso attraverso Aspose.Cells.

Importare Dati Utilizzando Aspose.Cells

Quando si apre un file Excel con Aspose.Cells, tutti i dati nel file vengono automaticamente importati. Aspose.Cells può anche importare dati da altre fonti di dati:

Aspose.Cells fornisce una classe, Workbook, che rappresenta un file Microsoft Excel. La classe Workbook contiene la raccolta WorksheetCollection che consente l’accesso a ciascun foglio di lavoro nel file Excel. Un foglio di lavoro è rappresentato dalla classe Worksheet. La classe Worksheet fornisce una raccolta Cells. La raccolta Cells fornisce metodi molto utili per l’importazione di dati da altre fonti di dati. Questo articolo spiega come possono essere utilizzati questi metodi.

Importazione da Array

Per importare dati in un foglio di calcolo da una matrice, chiamare il metodo importArray della raccolta Cells. Ci sono molte versioni sovraccaricate del metodo importArray ma una sovraccarica tipica richiede i seguenti parametri:

  • Array, l’oggetto array da cui si sta importando il contenuto.
  • Numero di riga, il numero di riga della prima cella in cui saranno importati i dati.
  • Numero di colonna, il numero di colonna della prima cella in cui saranno importati i dati.
  • È verticale, un valore booleano che specifica se importare i dati verticalmente o orizzontalmente.
// 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");

Importazione da Matrici Multidimensionali

Per importare dati in un foglio di calcolo da matrici multidimensionali, chiamare il sovraccarico di importArray rilevante della raccolta 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");

Importazione da un ArrayList

Per importare dati da un ArrayList ai fogli di lavoro, chiamare il metodo ImportArrayList della raccolta Cells. Il metodo ImportArrayList richiede i seguenti parametri:

  • ArrayList, l’oggetto ArrayList i cui contenuti verranno importati.
  • Numero di riga, il numero di riga della prima cella del campo da cui verranno importati i contenuti.
  • Numero Colonna, il numero di colonna della prima cella da cui verranno importati i dati.
  • È Verticale, è un valore booleano che specifica se importare i dati verticalmente o orizzontalmente.
// 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");

Importare da oggetti personalizzati in un’area unita

Per importare dati da una raccolta di oggetti in un foglio contenente celle unite, utilizzare la proprietà ImportTableOptions.CheckMergedCells. Se il modello Excel ha celle unite, impostare il valore della proprietà ImportTableOptions.CheckMergedCells su true. Passare l’oggetto ImportTableOptions insieme alla lista di colonne/proprietà al metodo per visualizzare l’elenco desiderato di oggetti. Il seguente esempio di codice dimostra l’uso della proprietà ImportTableOptions.CheckMergedCells per importare dati da oggetti personalizzati in celle unite. Si prega di fare riferimento al file Excel sorgente allegato e al file Excel output per ulteriori informazioni.

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

Importazione di dati da JSON

Aspose.Cells fornisce una classe JsonUtility per l’elaborazione di JSON. La classe JsonUtility ha un metodo ImportData per l’importazione di dati JSON. Aspose.Cells fornisce anche una classe JsonLayoutOptions che rappresenta le opzioni della struttura JSON. Il metodo ImportData accetta JsonLayoutOptions come parametro. La classe JsonLayoutOptions fornisce le seguenti proprietà.

  • ArrayAsTable: Indica se l’array deve essere elaborato come una tabella o meno.
  • ConvertNumericOrDate: Ottiene o imposta un valore che indica se la stringa in JSON deve essere convertita in un valore numerico o in una data.
  • DateFormat: Ottiene e imposta il formato del valore della data.
  • IgnoreArrayTitle: Indica se ignorare o meno il titolo se la proprietà dell’oggetto è un array.
  • IgnoreNull: Indica se il valore nullo deve essere ignorato o meno.
  • IgnoreObjectTitle: Indica se ignorare o meno il titolo se la proprietà dell’oggetto è un oggetto.
  • NumberFormat: Ottiene e imposta il formato del valore numerico.
  • TitleStyle: Ottiene e imposta lo stile del titolo.

Il codice di esempio riportato di seguito illustra l’uso delle classi JsonUtility e JsonLayoutOptions per importare dati 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");

Esportare dati dal foglio di lavoro

Aspose.Cells non solo consente ai suoi utenti di importare dati nei fogli di lavoro da origini di dati esterne ma consente anche di esportare i dati del foglio di lavoro in un array.

Esportazione dei dati utilizzando Aspose.Cells - Esportazione dei dati in un array

Aspose.Cells fornisce una classe, Workbook, che rappresenta un file Microsoft Excel. La classe Workbook contiene un WorksheetCollection che consente l’accesso a ciascun foglio di lavoro nel file Excel. Un foglio di lavoro è rappresentato dalla classe Worksheet. La classe Worksheet fornisce una raccolta Cells.

I dati possono essere facilmente esportati in un oggetto Array utilizzando il metodo exportArray della classe Cells.

Colonne contenenti dati fortemente tipizzati

I fogli elettronici memorizzano i dati come una sequenza di righe e colonne. Usa il metodo exportArray per esportare i dati da un foglio di lavoro in un array. exportArray richiede i seguenti parametri per esportare i dati del foglio di lavoro come oggetto Array:

  • Numero di riga, il numero di riga della prima cella da cui verranno esportati i dati.
  • Numero di colonna, il numero di colonna della prima cella da cui verranno esportati i dati.
  • Numero di righe, il numero di righe da esportare.
  • Numero di colonne, il numero di colonne da esportare.
// 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();

Argomenti avanzati