Aspose.Cellsは単なるスプレッドシートリーダー/ライターではなく、Excel互換の計算およびレポートエンジンであり、生データをレポート文書に変換することができます。Microsoft Officeをパイプラインのどこにもインストールする必要はありません。 ここでは、「データ分析、処理、プロフェッショナルな報告」がAPIを使用して実際にどのように見えるか、具体的なパフォーマンス数値とコードパターンを示します。これらを自分のプロジェクトに貼り付けることができます。
1. 環境準備
まず、Aspose.Cells for Go via C++ライブラリがインストールされていることを確認してください。
# Linux/macOS
ls $(go env GOMODCACHE)
# Windows (PowerShell)
Get-ChildItem $env:GOPATH\github.com\aspose-cells\aspose-cells-go-cpp\
次に、Aspose.Cells for Go via C++ライブラリのインストール方法については、Aspose.Cells for Go via C++オンラインドキュメントまたはAspose.Cells for Go via C++ Readmeを参照してください。
2. データの読み込みと基本操作
Aspose.Cells for Go via C++の主な機能:
- スプレッドシートの作成または読み込み
- データのソート
- データのフィルタリング
- 条件付き書式
GoLangエコシステムとAspose.Cells for Go via C++ API、実用的なコード、アプリケーションシナリオ、ベストプラクティスを活用して、クライアントがExcelデータを効率的に処理できるようにします。
- スプレッドシートを作成または既存のものを読み込む方法については、以下のコードを確認してください。
// 新しいワークブックを作成し、インデックス0のワークシートを取得
workbook, _ := NewWorkbook()
worksheets, _ := workbook.GetWorksheets()
worksheet, _ := worksheets.Get_Int(0)
// 既存のExcelファイルを読み込み、インデックス0のワークシートを取得
sourceWorkbook, _ := NewWorkbook_String("data_source.xlsx")
sourceWorksheets, _ := sourceWorkbook.GetWorksheets()
sourceWorksheet, _ := sourceWorksheets.Get_Int(0)
- Excelファイルのデータをソートする方法については、以下のコードを確認してください。
// セルエリアを作成
cell_area ,_ := CellArea_CreateCellArea_Int_Int_Int_Int(0,0,100,10)
// DataSorterを作成
sorter, _ = workbook.GetDataSorter()
// ソート順序ルールを設定
sorter.SetOrder1(SortOrder_Ascending)
// ソート列を設定
sorter.SetKey1(0)
// ソート
sorter.Sort()
- Excelファイルのデータをフィルタリングする方法については、以下のコードを確認してください。
// ワークシートのオートフィルタを取得
filter,_ = worksheet.GetAutoFilter()
// 範囲を設定、パラメータはセルの範囲で、データ型は文字列です。
filter.SetRange_String("A1:D1000")
// カスタムフィルタ、2列目が100以上であること
filter.Filter(1, ">=100");
// データを更新
filter.Refresh();
- Excelファイルのセルエリアに条件付き書式を設定する方法については、以下のコードを確認してください。
// ワークシートのセルを取得
cells ,_ := worksheet.GetCells()
// セルの書式条件を取得
formatConditions,_ = cells.GetFormatConditions()
// 条件付き書式を追加し、インデックスを返す
index,_ = formatConditions.Add()
// 書式条件インデックスで条件付き書式を取得
condition,_ = formatConditions.Get(index)
// 条件付き書式ルールを設定
// 条件付き書式の数式を設定
condition.SetFormula1_String("=B2>1000")
// 条件付き書式の演算子を設定
condition.SetOperator(OperatorType_GreaterThan)
// 書式スタイルを設定
// 新しいスタイルを作成
style,_ := workbook.CreateStyle();
// スタイルのフォントを取得
font,_ := style.GetFont()
// 赤色を取得
red_color, _ := Color_Red()
// フォントの色を赤色に設定
font.SetColor(red_color)
// フォントを太字に設定
font.SetIsBold(true)
// 条件付き書式にスタイルを設定
condition.SetStyle(style)
3. 高度なデータ分析
ピボットテーブル
ピボットテーブルは、生データの多次元要約を行い、トレンド、比較、分布を迅速に把握します。例:地域、商品カテゴリ、四半期ごとに売上データを要約して、どの製品がどの地域で最もよく売れているかを分析します。
数式
Excelに動的な数式を埋め込んで、レポートを自動的に更新します(例:利益率 = 利益 / 売上)。例:要約テーブルに「粗利益」列を追加し、数式(収益 - コスト) / 収益を使用して、元のデータが更新されると自動的に再計算されます。
グラフ
グラフはデータを視覚化し、パターン、異常、トレンドを迅速に特定できるようにします。例:地域別の売上を示す棒グラフや、製品売上の時系列折れ線グラフ。
- Excelファイルでデータを表示するためにピボットテーブルを使用する方法については、以下のコードを確認してください。
// ワークシートのピボットテーブルコンテナを取得
pivotTables,_ := worksheet.GetPivotTables()
// ピボットテーブルを作成し、インデックスを返す
index,_ := pivotTables.Add_String_String_String("=A1:D100", "E3", "PivotTable1")
// インデックスでピボットテーブルを取得
pivotTable,_ := pivotTables.Get_Int(index);
// ピボットテーブルのフィールドを構成
// 行フィールドを追加
pivotTable.AddFieldToArea_PivotFieldType_Int(PivotFieldType_Row, 0)
// 列フィールドを追加
pivotTable.AddFieldToArea_PivotFieldType_Int(PivotFieldType_Column, 1)
// データフィールドを追加
pivotTable.AddFieldToArea_PivotFieldType_Int(PivotFieldType_Data, 3)
// データ集計方法を設定
dataFields,_ := pivotTable.GetDataFields()
dataField, _ := dataFields.Get_Int(0)
dataField.SetFunction(ConsolidationFunction_Sum);
pivotTable.CalculateData();
- Excelファイルでデータを表示するために数式計算を使用する方法については、以下のコードを確認してください。
// ワークシートのセルを取得
cells, := worksheet.GetCells()
// セルE2を取得
cell, _ := cells.Get_String("E2")
// 数式を設定
cell.setFormula("=SUM(B2:D2)")
// スプレッドシート内のすべての数式を計算
workbook.calculateFormula();
// 計算結果を取得
cells ,_ = worksheet.GetCells()
cell,_ cells.Get_String("E2")
result,_ := cell.GetDoubleValue()
- Excelファイルでデータを表示するためにグラフを生成する方法については、以下のコードを確認してください。
// グラフを追加
charts,_ := worksheet.GetCharts()
chart_index,_ := charts.Add_ChartType_Int_Int_Int_Int(ChartType_Column, 5, 0, 15, 5)
chart,_ := charts.Get_Int(chartIndex);
// グラフデータエリアを設定
nseries, _ := chart.GetNSeries()
nseries.Add_String_Bool("=Sheet1!$B$2:$D$10", true)
// カテゴリアクシスデータを設定
nseries.SetCategoryData("=Sheet1!$A$2:$A$10")
// グラフタイトルを設定
chart_title,_ := chart.GetTitle()
chart_title.SetText("売上データ分析");
4. 顧客レポート生成
顧客のニーズに応じてレポートの構造とスタイルを定義できます。ここでは、データテーブルとそれに対応するグラフ表示を含むシンプルなレポートスタイルを定義します。