DioDocs for Excel
DioDocs for Excel
ワークブックを開く/保存
機能 > ワークブック > ワークブックを開く/保存

ワークブックを作成したら、ワークブックを開いて変更を加え、ワークブックに保存することができます。

このトピックでは、以下ついて説明します。

ワークブックを開く

既存のワークブックを開くには、Workbook クラスの Open メソッドを呼び出します。

ワークブックを開く際に、次の表にあるインポートオプションを使用することもできます。

インポートオプション 説明
ImportFlags

NoFlag=0

Data=1

Formulas=2

デフォルト

ワークシートからデータのみを読み取ります。

ワークシートから、データ、数式、定義された名前、テーブルのみを読み取ります。テーブルはテーブルの数式も含みます。

DoNotRecalculateAfterOpened ファイルの読み込み後に数式の値を取得する際、再計算を行いません。デフォルトは false です。
DoNotAutoFitAfterOpened ファイルの読み込み後に行の高さを自動的に調整しません。デフォルトは false です。

ワークブックを開く方法については、次のサンプルコードを参照してください。

C#
コードのコピー
//ワークブックを開きます
workbook.Open(@"Source.xlsx", OpenFileFormat.Xlsx);

//インポートオプションを使用してワークブックを開きます

//.xlsxファイルからデータのみをインポートします
XlsxOpenOptions options = new XlsxOpenOptions();
options.ImportFlags = ImportFlags.Data;
workbook.Open(@"DemoOpen.xlsx", options);

//読み込み後に再計算を行いません
XlsxOpenOptions options1 = new XlsxOpenOptions();
options1.DoNotRecalculateAfterOpened = true;

//行の高さを自動的に調整しません
options1.DoNotAutoFitAfterOpened = true;
workbook.Open(@"DemoOpen.xlsx", options1);
メモ:ワークブックを開く際に、Workbook クラスの IsEncryptedFile メソッドを使用すると、ワークブックがパスワードで保護されているかどうかを確認することができます。ワークブックがパスワード保護されている場合は、ワークブックを開くたびにパスワードを入力する必要があります。

.xlsx ファイル以外にも、Workbook クラスの Open メソッドのオーバーロードを使用して、以下のファイル形式も開くことができます。

ただし、サポートされていないファイル形式を開こうとすると例外が発生します。また、JSON ファイルを開く際、DeserializationOptions が使用できます。

次のサンプルコードは、JSONファイルをオプションありおよびオプションなしで開く方法を示します。

C#
コードのコピー
//新しいワークブックを作成します
var workbook = new Workbook();

//オプションなしで JSON をインポートします
workbook.Open("file.json");

//オプションありで JSON をインポートします
var options = new DeserializationOptions { IgnoreStyle = true };
workbook.Open("file.json", options);

ワークブックの保存

既存のワークブックに加えた変更を保存するには、Workbook クラスの Save メソッドを呼び出します。

ワークブックを保存する方法については、次のサンプルコードを参照してください。

C#
コードのコピー
//Excelファイルを保存します
workbook.Save(@"createWorkbook.xlsx", SaveFileFormat.Xlsx);

ワークブックには、多くの未使用のスタイル、未使用の定義された名前、スタイルが適用された空のセルが含まれていることがあり、ファイルサイズが大きくなることがあります。これらの不要な項目を除いて xlsx ファイルを保存し、ファイルサイズを最適化するには、XlsxSaveOptions クラスのオプションを使用します。このクラスの ExcludeEmptyRegionCells プロパティを true に設定すると、使用されているデータ範囲外の空のセルを除外できます。同様に、ExcludeUnusedNames プロパティを true に設定すると未使用の定義された名前を、ExcludeUnusedStyles プロパティを true に設定すると未使用のスタイルを、ワークブックをエクスポートする際に除外できます。また、このクラスには IgnoreFormulas プロパティがあり、数式セルを値セルとして xlsx ファイルに保存できます。さらに、保存後にワークブックの拡張機能を必要としない場合、IsCompactMode プロパティを使用すると、ワークブックをコンパクトモードで保存することもできます。

様々なオプションを使用してワークブックを保存する方法については、次のサンプルコードを参照してください。

C#
コードのコピー
Workbook workbook = new Workbook();       

//現在のワークブックに名前とスタイルを追加します 
for (int i = 0; i < 10000; i++) 
{ 
  workbook.Names.Add($"name{i + 1}", $"=$A${i + 1}"); 
  workbook.Styles.Add($"style{i + 1}"); 
}  

//未使用のスタイル、未使用の名前、空のセルを除外します 
XlsxSaveOptions option = new XlsxSaveOptions(); 
option.ExcludeUnusedStyles = true; 
option.ExcludeUnusedNames = true; 
option.ExcludeEmptyRegionCells = true; 

//オプションありとオプションなしでファイルを保存します 
workbook.Save("test_optimized.xlsx", option); 
workbook.Save("test_no_optimized.xlsx"); 

.xlsx ファイルに保存する以外にも、Workbook クラスの Save メソッドのオーバーロードを使用して、以下のファイル形式も保存することもできます。

上記のコードの実装方法については、DioDocs for Excel サンプルブラウザを参照してください。

関連トピック