SpreadsheetGear 製品の使用方法 (API 関数の呼び出しなど) ついてよく寄せられる質問です。
- 日本のお客様からよく寄せられる質問については、日本語環境、個別の機能に関する質問をご確認ください。
- SpreadsheetGear API を使用したコーディング方法はサンプル コードにて随時更新されています。
DataTable や DataSet をワークブックにコピーする
オンライン サンプルの DataTable to Excel Workbook または DataSet to Excel Workbook with Formats and Formulas を参照してください。
注意:サンプルで生成された Excel ファイルを表示するためには、Excel がクライアントにインストールされている必要があります。
ワークブックで値が設定されたセル範囲から DataSet を取得する
// Excel ファイルからワークブックを生成 IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook("myfile.xls"); // 既存の定義名から DataSet を取得する DataSet dataSet = workbook.GetDataSet("mydefinedname", SpreadsheetGear.Data.GetDataFlags.FormattedText);ASP.NET の DatGrid コントロールにデータを表示する
オンライン サンプルの Excel to DataGrid を参照してください。Web フォームで製品の演算エンジンを使用する
Excel 演算処理サンプル ページを参照してください。Spreadsheet のコントロールを Windows Forms アプリケーションで使用する
SpreadsheetGear 製品には、C# および VB.NET でコーディングされた SpreadsheetGear Explorer サンプル ソリューションが用意されています。これは、Visual Studio 2008、2010、2012、2013、2015、2017 環境における Windows Forms アプリケーションでの SpreadsheetGear の使用方法を理解するのに役立ちます。詳細は、Windows Forms Spreadsheet Control Samples (英語) を参照してください。WorkbookView コントロールのコンテキスト メニューを差し替えたり、使用不可にする
// コンテキスト メニューを使用不可にする workbookView1.ContextMenuStrip = null; // コンテキスト メニューを差し替える workbookView1.ContextMenuStrip = myContextMenuStrip;IRange.Copy メソッドでセル範囲を統合する
オンライン サンプルの Excel Workbook Consolidation を参照してください。ユーザー定義関数を定義する
オンライン サンプルの Custom Functions を参照してください。Excel のレポートにグラフを追加する
オンライン サンプルの Excel グラフ出力サンプルを参照してください。
注意:サンプルで生成された Excel ファイルを表示するためには、Excel がクライアントにインストールされている必要があります。
グラフの参照元データの範囲を変更する
オンライン サンプルの Basic Chart を参照してください。
注意: サンプルで生成された Excel ファイルを表示するためには、Excel がクライアントにインストールされている必要があります。
Excel レポートに画像を追加する
オンライン サンプルの Excel Report with Picture を参照してください。
注意: サンプルで生成された Excel ファイルを表示するためには、Excel がクライアントにインストールされている必要があります。
アウトラインを使用してセル範囲をグループ化して集計する
オンライン サンプルの Group, Outline and Summarize to Excel を参照してください。
注意: サンプルで生成された Excel ファイルを表示するためには、Excel がクライアントにインストールされている必要があります。
ストリームからのワークブックの読み込み、書き出しを行う
public static IWorkbook OpenWorkbook(System.IO.Stream stream) { // ストリームからワークブックを読み込み、それを返す return SpreadsheetGear.Factory.GetWorkbookSet().Workbooks.OpenFromStream(stream); } public static void SaveWorkbook(System.IO.Stream stream) { // ワークブックを生成してストリームに書き込む IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook(); workbook.SaveToStream(stream, SpreadsheetGear.FileFormat.Excel8); }ワークシートにハイパーリンクを追加する
// ワークブックを生成して、最初のシートを選択する IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook(); IWorksheet worksheet = workbook.Worksheets["Sheet1"]; // セル A1 にハイパーリンクを追加する worksheet.Hyperlinks.Add(worksheet.Cells["A1"], @"http://www.spreadsheetgear.com", null, "My Screen Tip", "My Hyperlink Text");注意:ハイパーリンクは Web ページ、Email アドレス、ワークブック ファイル、または現在のワークブック内のセル範囲にリンクを設定することができます。また、ハイパーリンクは HYPERLINK 関数でも生成することが可能です。
ワークブックに新規ワークシートを追加する
// ワークブックを生成する IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook(); // 最初のデフォルトのワークシートを取得、名前を設定し、数式を追加する IWorksheet worksheet = workbook.Worksheets[0]; worksheet.Name = "MyFirstSheet"; worksheet.Cells["A1"].Value = 123.456; // 2 番目のワークシートを追加し、名前を設定し、数式を追加する worksheet = workbook.Worksheets.Add(); worksheet.Name = "MySecondSheet"; worksheet.Cells["A1"].Formula = "=MyFirstSheet!A1 * 2";定義名から IRange を取得する
// ワークブックの生成 IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook(); // 最初のワークシートを取得、名前を付ける IWorksheet mySheet = workbook.Worksheets[0]; mySheet.Name = "MySheet"; // セル A1 を参照する定義名を生成する INames names = workbook.Names; names.Add("MyName", "=MySheet!$A$1"); // 定義名から IRange を取得する IRange cell = names["MyName"].RefersToRange;数式の生成時に IRange を参照する
// ワークブックの生成と最初のワークシートの取得 IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook(); IWorksheet worksheet = workbook.Worksheets["Sheet1"]; // IRange の取得と乱数の設定 IRange rangeValues = worksheet.Range["A1:A10"]; rangeValues.Formula = "=RAND() * 10000"; // IRange の取得と、値の合計を求める数式の追加 IRange rangeFormula = worksheet.Range["A11"]; rangeFormula.Formula = "=SUM(" + rangeValues.Address + ")"; // 演算結果を出力 System.Console.WriteLine("Sum = " + rangeFormula.Text);セル範囲を結合する
// ワークブックの生成と最初のワークシートの取得 IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook(); IWorksheet worksheet = workbook.Worksheets["Sheet1"]; // セル範囲を結合 worksheet.Cells["A1:D2"].Merge();セル範囲に罫線を設定する
// ワークブックの生成と最初のワークシートの取得 IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook(); IWorksheet worksheet = workbook.Worksheets["Sheet1"]; // セルの底辺に罫線を設定 IRange range = worksheet.Cells["A1:D1"]; IBorder border = range.Borders[SpreadsheetGear.BordersIndex.EdgeBottom]; border.LineStyle = SpreadsheetGear.LineStyle.Continous; border.Color = System.Drawing.Color.Blue; border.Weight = SpreadsheetGear.BorderWeight.Thick;ワークシートの印刷範囲、印刷タイトルを設定する
// ワークブックの生成と最初のワークシートの PageSetup を取得 IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook(); IWorksheet worksheet = workbook.Worksheets["Sheet1"]; IPageSetup pageSetup = worksheet.PageSetup; // 印刷範囲の設定 pageSetup.PrintArea = "Sheet1!$B$2:$F$20"; // 印刷タイトルの設定 pageSetup.PrintTitleRows = "Sheet1!$1:$1"; pageSetup.PrintTitleColumns = "Sheet1!$A:$A";セルの値を配列として取得、設定する
// ワークブックの生成と最初のワークシートの取得 IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook(); IWorksheet worksheet = workbook.Worksheets["Sheet1"]; // 10 行 x 2 列の値の配列を生成する object[,] values = new object[10, 2]; for (int i = 0; i < 10; i++) { values[i, 0] = "Row=" + i + " Col=0"; values[i, 1] = "Row=" + i + " Col=1"; } // 値をワークシートにセット // 注意:セル範囲 "A1:B10" は、配列のサイズと一致する必要があります。 worksheet.Cells["A1:B10"].Value = values; // ワークシートから値を取得 object[,] retVals = (object[,])worksheet.Cells["A1:B10"].Value;