データのインポートとエクスポート

ワークシートへのデータのインポート

データは世界のありのままを表しています。データの意味を理解するために、分析を行い、世界の理解を深めます。データは情報に変わります。

分析を行うための多くの方法があります。データをスプレッドシートに入力し、さまざまな方法で操作することは一般的な方法の1つです。Aspose.Cellsを使用すると、さまざまな外部ソースからデータを受け取り、分析の準備を行うスプレッドシートを簡単に作成することができます。

この記事では、開発者がAspose.Cellsを通じてアクセスできるいくつかのデータインポートテクニックについて説明します。

Aspose.Cellsを使用したデータのインポート

Aspose.CellsでExcelファイルを開くと、ファイル内のすべてのデータが自動的にインポートされます。Aspose.Cellsは他のデータソースからもデータをインポートすることができます:

Aspose.Cellsは、Microsoft Excelファイルを表すクラスであるWorkbookを提供しています。WorkbookクラスにはWorksheetCollectionコレクションが含まれており、Excelファイル内の各ワークシートにアクセスできます。ワークシートはWorksheetクラスで表されます。WorksheetクラスはCellsコレクションを提供します。Cellsコレクションは他のデータソースからのデータのインポートに非常に役立つメソッドを提供します。この記事では、これらのメソッドの使用方法について説明します。

配列からのインポート

配列からスプレッドシートにデータをインポートするには、CellsコレクションのimportArrayメソッドを呼び出します。importArrayメソッドには多くのオーバーロードされたバージョンがありますが、典型的なオーバーロードでは、次のパラメータが必要です:

  • Array、インポート元の配列オブジェクト。
  • 行番号、データがインポートされる最初のセルの行番号。
  • 列番号、データがインポートされる最初のセルの列番号。
  • 垂直、データを垂直または水平にインポートするかどうかを指定するブール値。
// 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");

多次元配列からのインポート

多次元配列からスプレッドシートにデータをインポートするには、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(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オブジェクトをメソッドに渡して、データを表示します。次のコードサンプルは、カスタムオブジェクトから結合セルへのデータのインポートの使用を示しています。参照用の添付されたソース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はJSONの処理のためのJsonUtilityクラスを提供しています。JsonUtilityクラスにはJSONデータをインポートするためのImportDataメソッドがあります。Aspose.Cellsはまた、JSONレイアウトのオプションを表すJsonLayoutOptionsクラスも提供しています。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 は、Microsoft Excel ファイルを表す Workbook クラスを提供します。Workbook クラスには、Excel ファイルの各ワークシートにアクセスできる WorksheetCollection が含まれています。ワークシートは Worksheet クラスで表されます。Worksheet クラスは Cells コレクションを提供します。

データは、Cells クラスの exportArray メソッドを使用して簡単に配列オブジェクトにエクスポートできます。

強く型付けされたデータを含む列

スプレッドシートは、行および列の連続としてデータを保存します。ワークシートからデータを配列にエクスポートするには、exportArray メソッドを使用します。exportArray は、ワークシートデータを Array オブジェクトとしてエクスポートするため、次のパラメータを取ります:

  • 行番号:データをエクスポートする最初のセルの行番号。
  • 列番号:データをエクスポートする最初のセルの列番号
  • 行数:エクスポートする行数。
  • 列数:エクポートする列数。
// 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();

高度なトピック