サンプル コード

  • 日本のお客様からよく寄せられる SpreadsheetGear の使用方法 (サンプル コード) を随時更新しています。

サンプル コード内で使用されている変数について

特に指定のない限り、サンプル コードでは以下のコードによりワークブックセット (IWorkbookSet)、ワークブック (IWorkbook)、ワークシート (IWorksheet)、セル範囲 (IRange) を変数宣言した前提で処理を行っています。

C# の場合
SpreadsheetGear.IWorkbookSet workbookSet = SpreadsheetGear.Factory.GetWorkbookSet();  // ワークブックセットの定義
SpreadsheetGear.IWorkbook workbook = workbookSet.Workbooks.Add();         // ワークブックの定義
SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets[0];            // ワークシートの定義
SpreadsheetGear.IRange cells = worksheet.Cells;                           // セル範囲の定義
VB.NET の場合
Dim workbookSet As SpreadsheetGear.IWorkbookSet = SpreadsheetGear.Factory.GetWorkbookSet()  ' ワークブックセットの定義
Dim workbook As SpreadsheetGear.IWorkbook = workbookSet.Workbooks.Add()   ' ワークブックの定義
Dim worksheet As SpreadsheetGear.IWorksheet = workbook.Worksheets(0)      ' ワークシートの定義
Dim cells As SpreadsheetGear.IRange = worksheet.Cells                     ' セル範囲の定義

1. セルの操作

C# の場合
// セル A1 から A8 に値を設定
cells["A1:A8"].Formula = "1234.5678";
 
// さまざまなセルの表示形式を指定
cells["A1"].NumberFormat = "General";
cells["A2"].NumberFormat = "0";
cells["A3"].NumberFormat = @"¥#,##0.00_);(¥#,##0.00)";
cells["A4"].NumberFormat = "yyyy/m/d";
cells["A5"].NumberFormat = "h:mm AM/PM";
cells["A6"].NumberFormat = "0.00%";
cells["A7"].NumberFormat = "# ??/??";
cells["A8"].NumberFormat = "0.00E+00";
 
// 文字列書式の指定 (注意: 文字列書式は、値を設定する前に設定します)
cells["A9"].NumberFormat = "@";
cells["A9"].Formula = "00123456";
VB.NET の場合
' セル A1 から A8 に値を設定
cells("A1:A8").Formula = "1234.5678"
 
' さまざまなセルの表示形式を指定
cells("A1").NumberFormat = "General"
cells("A2").NumberFormat = "0"
cells("A3").NumberFormat = "¥#,##0.00_);(¥#,##0.00)"
cells("A4").NumberFormat = "yyyy/m/d"
cells("A5").NumberFormat = "h:mm AM/PM"
cells("A6").NumberFormat = "0.00%"
cells("A7").NumberFormat = "# ??/??"
cells("A8").NumberFormat = "0.00E+00"
 
' 文字列書式の指定 (注意: 文字列書式は、値を設定する前に設定します)
cells("A9").NumberFormat = "@"
cells("A9").Formula = "00123456"
C# の場合
// 横位置を [左詰め]に設定
cells["A1"].HorizontalAlignment = SpreadsheetGear.HAlign.Left;
// 縦位置を [下詰め]に設定
cells["A1"].VerticalAlignment = SpreadsheetGear.VAlign.Bottom;
 
// 横位置を [選択範囲内で中央]に設定
cells["A2"].HorizontalAlignment = SpreadsheetGear.HAlign.CenterAcrossSelection;
// 縦位置を [中央揃え]に設定
cells["A2"].VerticalAlignment = SpreadsheetGear.VAlign.Center;
VB.NET の場合
' セル A1 の横位置を [左詰め]に設定
cells("A1").HorizontalAlignment = SpreadsheetGear.HAlign.Left
' セル A1 の縦位置を [下詰め]に設定
cells("A1").VerticalAlignment = SpreadsheetGear.VAlign.Bottom
 
' セル A2 の横位置を [選択範囲内で中央]に設定
cells("A2").HorizontalAlignment = SpreadsheetGear.HAlign.CenterAcrossSelection
' セル A2 の縦位置を [中央揃え]に設定
cells("A2").VerticalAlignment = SpreadsheetGear.VAlign.Center
C# の場合
// セル A1 から C3 を結合して 1 つのセルにする
cells["A1:C3"].Merge();
 
// セル D1 から F3 までの結合セルを解除する
cells["D1:F3"].UnMerge();
VB.NET の場合
' セル A1 から C3 を結合して 1 つのセルにする
cells("A1:C3").Merge()
 
' セル D1 から F3 までの結合セルを解除する
cells("D1:F3").UnMerge()
C# の場合
// シート全体
cells.Font.Name = "MS P明朝";
cells.Font.Size = 11;
 
// セル A1 から E5 まで
cells["A1:E5"].Font.Name = "MS Pゴシック";
cells["A1:E5"].Font.Bold = true;
cells["A1:E5"].Font.Color = SpreadsheetGear.Colors.Red;
VB.NET の場合
' シート全体
cells.Font.Name = "MS P明朝"
cells.Font.Size = 11
 
' セル A1 から E5 まで
cells("A1:E5").Font.Name = "MS Pゴシック"
cells("A1:E5").Font.Bold = True
cells("A1:E5").Font.Color = SpreadsheetGear.Colors.Red
C# の場合
// セル B2 から D8 の上側を参照
SpreadsheetGear.IBorder border = cells["B2:D8"].Borders[SpreadsheetGear.BordersIndex.EdgeTop];
 
// 罫線のスタイル、太さ、色を指定
border.LineStyle = SpreadsheetGear.LineStyle.Continuous;
border.Weight = SpreadsheetGear.BorderWeight.Thin;
border.Color = SpreadsheetGear.Colors.Blue;
VB.NET の場合
' セル B2 から D8 の上側を参照
Dim border As SpreadsheetGear.IBorder = cells("B2:D8").Borders(SpreadsheetGear.BordersIndex.EdgeTop)
 
' 罫線のスタイル、太さ、色を指定
border.LineStyle = SpreadsheetGear.LineStyle.Continuous
border.Weight = SpreadsheetGear.BorderWeight.Thin
border.Color = SpreadsheetGear.Colors.Blue
C# の場合
// セル B2 から C3 の背景を青に設定
SpreadsheetGear.IInterior interior = cells["B2:C3"].Interior;
interior.Color = SpreadsheetGear.Colors.Blue;
 
// セル B6 から C7 の背景を赤と黄色のパターンに設定
interior = cells["B6:C7"].Interior;
interior.Color = SpreadsheetGear.Colors.Red;
interior.Pattern = SpreadsheetGear.Pattern.Gray16;
interior.PatternColor = SpreadsheetGear.Colors.Yellow;
VB.NET の場合
' セル B2 から C3 の背景を青に設定
Dim interior As SpreadsheetGear.IInterior = cells("B2:C3").Interior
interior.Color = SpreadsheetGear.Colors.Blue
 
' セル B6 から C7 の背景を赤と黄色のパターンに設定
interior = cells("B6:C7").Interior
interior.Color = SpreadsheetGear.Colors.Red
interior.Pattern = SpreadsheetGear.Pattern.Gray16
interior.PatternColor = SpreadsheetGear.Colors.Yellow
C# の場合
// シートの保護をいったん解除
worksheet.ProtectContents = false;
 
// セル A1 のロックを解除、セル A2 のロックを設定
cells["A1"].Locked = false;
cells["A2"].Locked = true;
 
// シートの保護を有効にする
worksheet.ProtectContents = true;
VB.NET の場合
' シートの保護をいったん解除
worksheet.ProtectContents = False
 
' セル A1 のロックを解除、セル A2 のロックを設定
cells("A1").Locked = False
cells("A2").Locked = True
 
' シートの保護を有効にする
worksheet.ProtectContents = True
C# の場合
// セル A1 にコメントを挿入
SpreadsheetGear.IComment comment = cells["A1"].AddComment("追加されたコメント 1");
comment.Shape.TextFrame.Characters.Font.Bold = false;
comment.Visible = true;
 
// セル A2 にコメントを挿入
comment = cells["A2"].AddComment("追加されたコメント 2");
comment.Shape.TextFrame.Characters.Font.Bold = true;
comment.Visible = false;
 
// セル A2 のコメントを削除する場合
cells["A2"].ClearComments();
VB.NET の場合
' セル A1 にコメントを追加
Dim comment As SpreadsheetGear.IComment = cells("A1").AddComment("追加されたコメント 1")
comment.Shape.TextFrame.Characters.Font.Bold = False
comment.Visible = True
 
' セル A2 にコメントを追加
comment = cells("A2").AddComment("追加されたコメント 2")
comment.Shape.TextFrame.Characters.Font.Bold = True
comment.Visible = False
 
' セル A2 のコメントを削除する場合
cells("A2").ClearComments()
C# の場合
// セル A1 から F10 を対象
SpreadsheetGear.IRange range = cells["A1:F10"];
 
// 対象セル範囲にサンプル値を設定
range.Formula = "=RAND() * 10000";
range.NumberFormat = @"¥#,##0_);(¥#,##0)";
 
// セル範囲の条件付き書式用のコレクションを参照
SpreadsheetGear.IFormatConditions conditions = range.FormatConditions;
 
// 既存の条件付き書式をクリア
conditions.Delete();
 
// 値が 8000 以下の場合の条件付き書式を設定
SpreadsheetGear.IFormatCondition condition = conditions.Add(
        SpreadsheetGear.FormatConditionType.CellValue,
        SpreadsheetGear.FormatConditionOperator.LessEqual,
        "8000", null);
 
// フォントのスタイル、色、背景色を設定
condition.Font.Bold = false;
condition.Font.Color = SpreadsheetGear.Colors.White;
condition.Interior.Color = SpreadsheetGear.Colors.DarkSlateBlue;
 
// 値が 8000 を超える場合の条件付き書式を設定
condition = conditions.Add(
        SpreadsheetGear.FormatConditionType.CellValue,
        SpreadsheetGear.FormatConditionOperator.Greater,
        "8000", null);
 
// フォントのスタイル、色、背景色を設定
condition.Font.Bold = true;
condition.Font.Italic = true;
condition.Font.Color = SpreadsheetGear.Colors.White;
condition.Interior.Color = SpreadsheetGear.Colors.Maroon;
VB.NET の場合
' セル A1 から F10 を対象
Dim range As SpreadsheetGear.IRange = cells("A1:F10")
 
' 対象セル範囲にサンプル値を設定
range.Formula = "=RAND() * 10000"
range.NumberFormat = "¥#,##0_);(¥#,##0)"
 
' セル範囲の条件付き書式用のコレクションを参照
Dim conditions As SpreadsheetGear.IFormatConditions = range.FormatConditions
 
' 既存の条件付き書式をクリア
conditions.Delete()
 
' 値が 8000 以下の場合の条件付き書式を設定
Dim condition As SpreadsheetGear.IFormatCondition = conditions.Add(
              SpreadsheetGear.FormatConditionType.CellValue,
              SpreadsheetGear.FormatConditionOperator.LessEqual,
              "8000", Nothing)
 
' フォントのスタイル、色、背景色を設定
condition.Font.Bold = False
condition.Font.Color = SpreadsheetGear.Colors.White
condition.Interior.Color = SpreadsheetGear.Colors.DarkSlateBlue
 
' 値が 8000 を超える場合の条件付き書式を設定
condition = conditions.Add(
              SpreadsheetGear.FormatConditionType.CellValue,
              SpreadsheetGear.FormatConditionOperator.Greater,
              "8000", Nothing)
 
' フォントのスタイル、色、背景色を設定
condition.Font.Bold = True
condition.Font.Italic = True
condition.Font.Color = SpreadsheetGear.Colors.White
condition.Interior.Color = SpreadsheetGear.Colors.Maroon
C# の場合
// セル A5 から A7 に入力規則の参照リストを設定
cells["A5:A7"].Value = new string[,] {{"赤"},{"青"},{"黄"}};
 
// セル A1 にドロップダウンの入力規則を設定 (参照リストから設定する場合)
cells["A1"].Validation.Add(
          SpreadsheetGear.ValidationType.List,
          SpreadsheetGear.ValidationAlertStyle.Information,
          SpreadsheetGear.ValidationOperator.Default, "=A5:A7", null);
 
// セル A2 にドロップダウンの入力規則を設定 (コード内で指定する場合)
cells["A2"].Validation.Add(
          SpreadsheetGear.ValidationType.List,
          SpreadsheetGear.ValidationAlertStyle.Warning,
          SpreadsheetGear.ValidationOperator.Default, "赤,青,黄", null);
VB.NET の場合
' セル A5 から A7 に入力規則の参照リストを設定
cells("A5").Formula = "赤"
cells("A6").Formula = "青"
cells("A7").Formula = "黄"
 
' セル A1 にドロップダウンの入力規則を設定 (参照リストから設定する場合)
cells("A1").Validation.Add(
                SpreadsheetGear.ValidationType.List,
                SpreadsheetGear.ValidationAlertStyle.Information,
                SpreadsheetGear.ValidationOperator.Default, "=A5:A7", Nothing)
 
' セル A2 にドロップダウンの入力規則を設定 (コード内で指定する場合)
cells("A2").Validation.Add(
                SpreadsheetGear.ValidationType.List,
                SpreadsheetGear.ValidationAlertStyle.Warning,
                SpreadsheetGear.ValidationOperator.Default, "赤,青,黄", Nothing)
C# の場合
// コピー元 (rangeFrom)、コピー先 (rangeTo) を定義
SpreadsheetGear.IRange rangeFrom = cells["A1:A3"];
SpreadsheetGear.IRange rangeTo   = cells["A5:A7"];
 
// セル A1:A3 を A5:A7 にコピー
rangeFrom.Copy(rangeTo, SpreadsheetGear.PasteType.All,
          SpreadsheetGear.PasteOperation.None, false, false);
VB.NET の場合
' コピー元 (rangeFrom)、コピー先 (rangeTo) を定義
Dim rangeFrom As SpreadsheetGear.IRange = cells("A1:A3")
Dim rangeTo As SpreadsheetGear.IRange = cells("A5:A7")
 
' セル A1:A3 を A5:A7 にコピー
rangeFrom.Copy(rangeTo, SpreadsheetGear.PasteType.All,
                SpreadsheetGear.PasteOperation.None, False, False)
(参考) Excel VBA の場合
' セル範囲 (A1:C3) の値を配列に格納
Dim MyArray() As Variant
MyArray = Range("A1:C3")
 
' 格納したセル範囲の配列を、セル範囲 (A5:C7) にコピー
Range("A5:C7") = MyArray
C# の場合 (SpreadsheetGear では二次元のオブジェクト配列を使用します)
// セル範囲 (A1:C3) の値を二次元配列のオブジェクトに格納
object[,] MyArray;
MyArray = (object[,])worksheet.Cells["A1:C3"].Value;
 
// 格納したセル範囲の配列を、セル範囲 (A5:C7) にコピー
worksheet.Cells["A5:C7"].Value = MyArray;
VB.NET の場合 (SpreadsheetGear では二次元のオブジェクト配列を使用します)
' セル範囲 (A1:C3) の値を配列に格納
Dim MyArray As Object(,)
MyArray = CType(worksheet.Cells("A1:C3").Value, Object)
 
' 格納したセル範囲の配列を、セル範囲 (A5:C7) にコピー
worksheet.Cells("A5:C7").Value = MyArray
C# の場合
// A 列から C 列全体を、E 列から G 列にコピー
SpreadsheetGear.IRange rangeFrom = cells["A1:C1"].EntireColumn;
SpreadsheetGear.IRange rangeTo   = cells["E1:G1"].EntireColumn;
rangeFrom.Copy(rangeTo, SpreadsheetGear.PasteType.All,
          SpreadsheetGear.PasteOperation.None, false, false);
 
// 1 行目から 3 行目を、5 行目から 7 行目にコピー
rangeFrom = cells["A1:A3"].EntireRow;
rangeTo = cells["A5:A7"].EntireRow;
rangeFrom.Copy(rangeTo, SpreadsheetGear.PasteType.All,
          SpreadsheetGear.PasteOperation.None, false, false);
VB.NET の場合
' A 列から C 列を、E 列から G 列にコピー
Dim rangeFrom As SpreadsheetGear.IRange = cells("A1:C1").EntireColumn
Dim rangeTo As SpreadsheetGear.IRange = cells("E1:G1").EntireColumn
rangeFrom.Copy(rangeTo, SpreadsheetGear.PasteType.All,
                SpreadsheetGear.PasteOperation.None, False, False)
 
' 1 行目から 3 行目を、5 行目から 7 行目にコピー
rangeFrom = cells("A1:A3").EntireRow
rangeTo = cells("A5:A7").EntireRow
rangeFrom.Copy(rangeTo, SpreadsheetGear.PasteType.All,
                SpreadsheetGear.PasteOperation.None, False, False)

ページトップへ

2. ワークシートの操作

C# の場合
// ワークシートの IWorksheetWindowInfo を参照
SpreadsheetGear.IWorksheetWindowInfo windowInfo = worksheet.WindowInfo;
 
// イメージ ファイル名を取得する
string filename = "sample.gif";
 
// ピクセルで図の幅と高さを取得して、ポイントに変換する (AddPicture のコールに使用するため)。
// 実際の図のサイズを使用する場合でそのサイズを知らない場合のみ、この手順が必要なります。
// 別のオプションとして、行と列の座標から幅と高さを計算する方法もあります。
double width;
double height;
System.Drawing.Image image = System.Drawing.Image.FromFile(filename);
using (image)
{
    width = image.Width * 72.0 / image.HorizontalResolution;
    height = image.Height * 72.0 / image.VerticalResolution;
}
 
// 行と列の座標からポイントに変換することで、図の左上の配置を計算する。
// 行位置と列位置を使用して、行と列の境界間の座標を取得する。
double left = windowInfo.ColumnToPoints(0.25);
double top = windowInfo.RowToPoints(1.5);
 
// 上記で算出した値を使用して画像を追加
SpreadsheetGear.Shapes.IShape shape =
          worksheet.Shapes.AddPicture(filename, left, top, width, height);
 
// 画像の輪郭のラインは非表示にする
shape.Line.Visible = false;
VB.NET の場合
' ワークシートの IWorksheetWindowInfo を参照
Dim windowInfo As SpreadsheetGear.IWorksheetWindowInfo = worksheet.WindowInfo
 
' イメージ ファイル名を取得する
Dim filename As String = "sample.gif"
 
' ピクセルで図の幅と高さを取得して、ポイントに変換する (AddPicture のコールに使用するため)。
' 実際の図のサイズを使用する場合でそのサイズを知らない場合のみ、この手順が必要なります。
' 別のオプションとして、行と列の座標から幅と高さを計算する方法もあります。
Dim width As Double
Dim height As Double
Dim image As System.Drawing.Image = System.Drawing.Image.FromFile(filename)
Using (image)
    width = image.Width * 72.0 / image.HorizontalResolution
    height = image.Height * 72.0 / image.VerticalResolution
End Using
 
' 行と列の座標からポイントに変換することで、図の左上の配置を計算する。
' 行位置と列位置を使用して、行と列の境界間の座標を取得する。
Dim left As Double = windowInfo.ColumnToPoints(0.25)
Dim top As Double = windowInfo.RowToPoints(1.5)
 
' 上記で算出した値を使用して画像を追加
Dim shape As SpreadsheetGear.Shapes.IShape =
                worksheet.Shapes.AddPicture(filename, left, top, width, height)
 
' 画像の輪郭のラインは非表示にする
shape.Line.Visible = False
C# の場合
// ワークシートの IWorksheetWindowInfo を参照
SpreadsheetGear.IWorksheetWindowInfo windowInfo = worksheet.WindowInfo;
 
// 行、列の座標をポイントに変換して、テキストボックスの配置位置を算出する
double left = windowInfo.ColumnToPoints(0.5);
double top = windowInfo.RowToPoints(1.5);
double right = windowInfo.ColumnToPoints(5.5);
double bottom = windowInfo.RowToPoints(10.5);
double width = right - left;
double height = bottom - top;
 
// 上記で算出した値を使用してテキストボックスを追加
SpreadsheetGear.Shapes.IShape shape =
          worksheet.Shapes.AddTextBox(left, top, width, height);
 
// テキストボックスへの参照を定義
SpreadsheetGear.Shapes.ITextFrame textFrame = shape.TextFrame;
SpreadsheetGear.ICharacters characters = textFrame.Characters;
 
// テキストボックスの値を設定
characters.Text = "このテキストボックスは¥r¥n¥r¥nサンプル コードで作成しました。";
 
// フォントの指定
SpreadsheetGear.IFont font = characters.Font;
font.Bold = true;
font.Name = "MS P明朝";
font.Size = 12;
VB.NET の場合
' ワークシートの IWorksheetWindowInfo を参照
Dim windowInfo As SpreadsheetGear.IWorksheetWindowInfo = worksheet.WindowInfo
 
' 行、列の座標をポイントに変換して、テキストボックスの配置位置を算出する
Dim left As Double = windowInfo.ColumnToPoints(0.5)
Dim top As Double = windowInfo.RowToPoints(1.5)
Dim right As Double = windowInfo.ColumnToPoints(5.5)
Dim bottom As Double = windowInfo.RowToPoints(10.5)
Dim width As Double = right - left
Dim height As Double = bottom - top
 
' 上記で算出した値を使用してテキストボックスを追加
Dim shape As SpreadsheetGear.Shapes.IShape =
                worksheet.Shapes.AddTextBox(left, top, width, height)
 
' テキストボックスへの参照を定義
Dim textFrame As SpreadsheetGear.Shapes.ITextFrame = shape.TextFrame
Dim characters As SpreadsheetGear.ICharacters = textFrame.Characters
 
' テキストボックスの値を設定
characters.Text = "このテキストボックスは" +
                ControlChars.Cr + ControlChars.Lf + ControlChars.Cr + ControlChars.Lf +
                "サンプル コードで作成しました。"
 
' フォントの指定
Dim font As SpreadsheetGear.IFont = characters.Font
font.Bold = True
font.Name = "MS P明朝"
font.Size = 12
C# の場合
// セルに値を設定
cells["A1"].Formula = "ワークシートのパスワード保護サンプル";
 
// ワークシートをパスワードで保護 (パスワード: password)
worksheet.Protect("password");
 
// ワークシートの保護を解除する場合
worksheet.Unprotect("password");
 
// xlsx 形式で出力
workbook.SaveAs(@"c:¥output.xlsx", SpreadsheetGear.FileFormat.OpenXMLWorkbook);
VB.NET の場合
' セルに値を設定
cells("A1").Formula = "ワークシートのパスワード保護サンプル"
 
' ワークシートをパスワードで保護 (パスワード: password)
worksheet.Protect("password")
 
' ワークシートの保護を解除する場合
worksheet.Unprotect("password")
 
' xlsx 形式で出力
workbook.SaveAs("c:¥output.xlsx", SpreadsheetGear.FileFormat.OpenXMLWorkbook)
C# の場合
// ワークブック内の最初のシートをコピー元とする
SpreadsheetGear.IWorksheet worksheet1 = workbook.Worksheets[0];
 
// 上記のワークシートをワークブックの最後尾にコピーする
SpreadsheetGear.IWorksheet worksheet2 =
          (SpreadsheetGear.IWorksheet)worksheet1.CopyAfter(
              workbook.Worksheets[workbook.Worksheets.Count - 1]);
 
// コピーしたワークシートの名前を設定
worksheet2.Name = "Sheet2";
 
// xlsx 形式で出力
workbook.SaveAs(@"c:¥output.xlsx", SpreadsheetGear.FileFormat.OpenXMLWorkbook);
VB.NET の場合
' ワークブック内の最初のシートをコピー元とする
Dim worksheet1 As SpreadsheetGear.IWorksheet = workbook.Worksheets(0)
 
' 上記のワークシートをワークブックの最後尾にコピーする
Dim worksheet2 As SpreadsheetGear.IWorksheet =
                worksheet1.CopyAfter(workbook.Worksheets(workbook.Worksheets.Count - 1))
 
' コピーしたワークシートの名前を設定
worksheet2.Name = "Sheet2"
 
' xlsx 形式で出力
workbook.SaveAs("c:¥output.xlsx", SpreadsheetGear.FileFormat.OpenXMLWorkbook)

ページトップへ

3. ワークブックの操作

C# の場合
// ワークブックセットの参照
SpreadsheetGear.IWorkbookSet workbookSet = SpreadsheetGear.Factory.GetWorkbookSet();
 
// パスワード (password) を指定してワークブック (c:¥input.xlsx) を読み込む
SpreadsheetGear.IWorkbook workbook = workbookSet.Workbooks.Open(@"c:¥input.xlsx", "password");
 
// セル A1 に値を設定
workbook.Worksheets[0].Cells["A1"].Formula = "パスワード保護ファイルの読み書きテスト";
 
// 新しいパスワード (password2) を設定して書き出す
workbook.SaveAs(@"c:¥output.xlsx", SpreadsheetGear.FileFormat.OpenXMLWorkbook, "password2");
VB.NET の場合
' ワークブックセットの参照
Dim workbookSet As SpreadsheetGear.IWorkbookSet = SpreadsheetGear.Factory.GetWorkbookSet()
 
' パスワード (password) を指定してワークブック (c:¥input.xlsx) を読み込む
Dim workbook As SpreadsheetGear.IWorkbook = workbookSet.Workbooks.Open("c:¥input.xlsx", "password")
 
' セル A1 に値を設定
workbook.Worksheets(0).Cells("A1").Formula = "パスワード保護ファイルの読み書きテスト"
 
' 新しいパスワード (password2) を設定して書き出す
workbook.SaveAs("c:¥output.xlsx", SpreadsheetGear.FileFormat.OpenXMLWorkbook, "password2")
C# の場合
// ワークブックセットの参照
SpreadsheetGear.IWorkbookSet workbookSet = SpreadsheetGear.Factory.GetWorkbookSet();
 
// コピー元、コピー先のワークブック (c:¥copyFrom.xlsx、c:¥copyTo.xlsx) を読み込む
SpreadsheetGear.IWorkbook workbookFrom = workbookSet.Workbooks.Open(@"c:¥copyFrom.xlsx");
SpreadsheetGear.IWorkbook workbookTo = workbookSet.Workbooks.Open(@"c:¥copyTo.xlsx");
 
// コピー元 (c:¥copyFrom.xlsx) を最初のワークシート
// コピー先 (c:¥copyTo.xlsx) を最後のワークシートとする
SpreadsheetGear.IWorksheet worksheetFrom =
          workbookFrom.Worksheets[0];
SpreadsheetGear.IWorksheet worksheetTo =
          workbookTo.Worksheets[workbookTo.Worksheets.Count - 1];
 
// コピー処理の実行とコピーされたシート名の変更
SpreadsheetGear.IWorksheet worksheetCopy =
          (SpreadsheetGear.IWorksheet)worksheetFrom.CopyAfter(worksheetTo);
worksheetCopy.Name = "コピーされたシート";
 
// コピー先のワークブックを output.xlsx として出力
workbookTo.SaveAs(@"c:¥output.xlsx", SpreadsheetGear.FileFormat.OpenXMLWorkbook);
VB.NET の場合
' ワークブックセットの参照
Dim workbookSet As SpreadsheetGear.IWorkbookSet = SpreadsheetGear.Factory.GetWorkbookSet()
 
' コピー元、コピー先のワークブック (c:¥copyFrom.xlsx、c:¥copyTo.xlsx) を読み込む
Dim workbookFrom As SpreadsheetGear.IWorkbook =
                workbookSet.Workbooks.Open("c:¥copyFrom.xlsx")
Dim workbookTo As SpreadsheetGear.IWorkbook =
                workbookSet.Workbooks.Open("c:¥copyTo.xlsx")
 
' コピー元 (c:¥copyFrom.xlsx) を最初のワークシート
' コピー先 (c:¥copyTo.xlsx) を最後のワークシートとする
Dim worksheetFrom As SpreadsheetGear.IWorksheet =
                workbookFrom.Worksheets(0)
Dim worksheetTo As SpreadsheetGear.IWorksheet =
                workbookTo.Worksheets(workbookTo.Worksheets.Count - 1)
 
' コピー処理の実行とコピーされたシート名の変更
Dim worksheetCopy As SpreadsheetGear.IWorksheet =
                worksheetFrom.CopyAfter(worksheetTo)
worksheetCopy.Name = "コピーされたシート"
 
' コピー先のワークブックを output.xlsx として出力
workbookTo.SaveAs("c:¥output.xlsx", SpreadsheetGear.FileFormat.OpenXMLWorkbook)

ページトップへ

4. その他の操作

C# の場合
// workbookView コントロールをロック (必須)
workbookView.GetLock();
 
// ワークブックセットの参照
SpreadsheetGear.IWorkbookSet workbookSet = SpreadsheetGear.Factory.GetWorkbookSet();
 
// ワークブック (c:¥input.xlsx) を読み込む
SpreadsheetGear.IWorkbook workbook = workbookSet.Workbooks.Open(@"c:¥input.xlsx");
SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets[0];
SpreadsheetGear.IRange cells = worksheet.Cells;
 
// セル A1 に値を設定
workbook.Worksheets[0].Cells["A1"].Formula = "workbookView 読み込みテスト";
 
// workbookView に表示する
workbookView.ActiveWorkbook = workbook;
 
// workbookView コントロールを解除 (必須)
workbookView.ReleaseLock();
VB.NET の場合
' workbookView コントロールをロック (必須)
WorkbookView.GetLock()
 
' ワークブックセットの参照
Dim workbookSet As SpreadsheetGear.IWorkbookSet = SpreadsheetGear.Factory.GetWorkbookSet()
 
' ワークブック (c:¥input.xlsx) を読み込む
Dim workbook As SpreadsheetGear.IWorkbook = workbookSet.Workbooks.Open("c:¥input.xlsx")
Dim worksheet As SpreadsheetGear.IWorksheet = workbook.Worksheets(0)
Dim cells As SpreadsheetGear.IRange = worksheet.Cells
 
' セル A1 に値を設定
workbook.Worksheets(0).Cells("A1").Formula = "workbookView 読み込みテスト"
 
' workbookView に表示する
WorkbookView.ActiveWorkbook = workbook
 
' workbookView コントロールを解除 (必須)
WorkbookView.ReleaseLock()


ページトップへ