Importera och exportera data
Importera data i arbetsboken
Data representerar världen som den är. För att förstå data analyserar vi den och får en förståelse för världen. Data blir till information.
Det finns många sätt att utföra analys: att lägga in data i kalkylblad och manipulera den på olika sätt är en vanlig metod. Med Aspose.Cells är det enkelt att skapa kalkylblad som tar data från olika externa källor och förbereder dem för analys.
Den här artikeln diskuterar några metoder för dataimport som utvecklare har tillgång till genom Aspose.Cells.
Importera data med Aspose.Cells
När du öppnar en Excel-fil med Aspose.Cells importeras automatiskt all data i filen. Aspose.Cells kan också importera data från andra datakällor:
Aspose.Cells tillhandahåller en klass, Workbook, som representerar en Microsoft Excel-fil. Workbook-klassen innehåller samlingen WorksheetCollection, som möjliggör åtkomst till varje arbetsblad i Excel-filen. Ett arbetsblad representeras av Worksheet-klassen. Worksheet-klassen tillhandahåller en Cells-samling. Cells-samlingen ger mycket användbara metoder för att importera data från andra datakällor. I den här artikeln förklaras hur dessa metoder kan användas.
Importera från Array
För att importera data till ett kalkylblad från en array, anropa importArray-metoden i Cells-samlingen. Det finns många överbelastade versioner av importArray-metoden, men en vanlig överbelastning tar följande parametrar:
- Array, arrayobjektet som du importerar innehåll från.
- Radnummer, radnumret för den första cellen som datan kommer att importeras till.
- Kolumnnummer, kolumnnumret för den första cellen som datan kommer att importeras till.
- Är vertikal, ett booleskt värde som specificerar om data ska importeras vertikalt eller horisontellt.
// 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"); |
Importera från flerdimensionella arrayer
För att importera data till ett kalkylblad från flerdimensionella arrayer, anropa den relevanta importArray-överbelastningen i Cells-samlingen:
// 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"); |
Importera från en ArrayList
För att importera data från en ArrayList till kalkylblad, anropa ImportArrayList-metoden i Cells-samlingen. ImportArrayList-metoden tar följande parametrar:
- ArrayList, ArrayList-objekt vars innehåll kommer att importeras.
- Radnummer, radnumret för den första cellen i cellintervallen från vilken innehåll kommer att importeras.
- Kolumnnummer, kolumnnumret för den första cellen från vilken data kommer att importeras.
- Är vertikal, är ett booleskt värde som specifierar om data ska importeras vertikalt eller horisontellt.
// 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"); |
Importera från anpassade objekt till sammanfogat område
För att importera data från en samling objekt till en arbetsbok som innehåller sammanfogade celler, använd ImportTableOptions.CheckMergedCells egenskap. Om Excel-mallen har sammanfogade celler, ange värdet för ImportTableOptions.CheckMergedCells egenskap till true. Skicka med objektet ImportTableOptions tillsammans med listan över kolumner/egenskaper till metoden för att visa din önskade lista med objekt. Följande kodexempel demonstrerar användningen av ImportTableOptions.CheckMergedCells egenskap för att importera data från anpassade objekt till sammanfogade celler. Se den bifogade käll-Excel-filen och den utdata-Excel-filen som referens.
// 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"); |
Importera data från JSON
Aspose.Cells tillhandahåller en JsonUtility-klass för bearbetning av JSON. JsonUtility-klassen har en ImportData-metod för att importera JSON-data. Aspose.Cells tillhandahåller också en JsonLayoutOptions-klass som representerar alternativen för JSON-layout. ImportData-metoden accepterar JsonLayoutOptions som en parameter. JsonLayoutOptions-klassen tillhandahåller följande egenskaper.
- ArrayAsTable: Anger om arrayen ska behandlas som en tabell eller inte.
- ConvertNumericOrDate: Hämtar eller anger ett värde som indikerar om strängen i JSON ska konverteras till numeriskt eller datum.
- DateFormat: Hämtar och anger formatet för datumvärdet.
- IgnoreArrayTitle: Indikerar om titeln ska ignoreras om objektets egenskap är en array.
- IgnoreNull: Indikerar om nullvärdet ska ignoreras eller inte.
- IgnoreObjectTitle: Indikerar om titeln ska ignoreras om objektets egenskap är ett objekt.
- NumberFormat: Hämtar och anger formatet för numeriska värden.
- TitleStyle: Hämtar och anger stilen för titeln.
Det angivna kodexemplet demonstrerar användningen av JsonUtility- och JsonLayoutOptions-klasserna för att importera JSON-data.
// 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"); |
Exportera data från arbetsblad
Aspose.Cells låter inte bara sina användare importera data till arbetsblad från externa datakällor utan tillåter dem också att exportera arbetsbladsdata till en array.
Exportera data med hjälp av Aspose.Cells - Exportera data till Array
Aspose.Cells tillhandahåller en klass, Workbook, som representerar en Microsoft Excel-fil. Workbook-klassen innehåller en WorksheetCollection som möjliggör åtkomst till varje arbetsblad i Excel-filen. Ett arbetsblad representeras av Worksheet-klassen. Worksheet-klassen tillhandahåller en Cells-samling.
Data kan enkelt exporteras till ett Array-objekt med hjälp av Cells-klassens exportArray-metod.
Kolumner som innehåller starkt typade data
Kalkylblad lagrar data som en sekvens av rader och kolumner. Använd exportArray-metoden för att exportera data från ett kalkylblad till en array. exportArray tar följande parametrar för att exportera kalkylbladsdata som ett Array-objekt:
- Radnummer, radnumret för den första cellen från vilken data ska exporteras.
- Kolumnnummer, kolumnnumret för den första cellen från vilken data ska exporteras.
- Antal rader, antalet rader att exportera.
- Antal kolumner, antalet kolumner att exportera.
// 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(); |