xlsx、xlsm、xltx ファイルをインポートおよびエクスポートする際、すべてが必要ではない場合もあります。データだけが必要な場合もあれば、数式などを除外したい場合もあります。本製品には、何を保持し、何を除外するかを選択できる様々なインポート/エクスポートオプションオプションがあります。これらのオプションは、複数のワークシート、多くの数式、多くの図形を含むような重いファイルを扱う場合に特に便利です。本製品には、必要な内容のみをインポートまたはエクスポートできるように次のプロパティが用意されています。
クラス名 | プロパティ名 | 説明 | |
---|---|---|---|
インポートのオプション | XlsxOpenOptions / XlsmOpenOptions / XltxOpenOptions | DoNotAutoFitAfterOpened | Excel ファイルを開いたときに行の高さを自動的に調整するかどうかを指定します。 |
DoNotRecalculateAfterOpened | Excel ファイルを開いた後に数式の値を再計算するかどうかを指定します。 | ||
Import Flags | ワークシートの様々な要素をインポートするためのフラグを指定します。 詳細については、インポートフラグの使用を参照してください。 | ||
エクスポートのオプション | XlsxSaveOptions / XlsmSaveOptions / XltxSaveOptions | IgnoreFormulas | ワークシートの数式セルを Excel の値セルとしてエクスポートします。 |
ExcludeUnusedStyles | ファイルをエクスポートするときに、未使用のスタイルを除外します。 | ||
ExcludeUnusedNames | ファイルをエクスポートするときに、未使用の定義された名前を除外します。 | ||
ExcludeEmptyRegionCells | 空のセル、つまり、使用範囲外にあり、スタイルを持つがデータを持たないセルを除外します。 |
本製品では、Excel ファイルをインポートおよびエクスポートする際、日本語のルビ(フリガナ)も保持できます。また、挿入、削除、コピー、切り取り、結合、クリア、並べ替えなどのワークシート操作を行った後も、日本語ルビを含むセルを正確に調整することができます。
ワークブックを開く際、インポート操作を制御するいくつかのオプションを使用できます。
ImportFlags プロパティに ImportFlags 列挙体の値を指定すると、指定したオプションでワークブックをインポートすることができます。以下の表にて、それぞれのオプションについて説明します。
インポートフラグのオプション | 説明 |
---|---|
NoFlag | 「オプションなし」を意味します。Excelファイルを開く際にインポートフラグを立てない場合に使用します。 つまり、ワークシートのすべてのデータがそのままインポートされます。 |
Data | 「データの読み取り」を意味します。Excelファイルを開く際、ワークシートのデータのみをインポートする場合に使用します。 |
Formulas | 「データと数式の読み取り」を意味します。Excelファイルを開く際、ワークシートのデータと数式の両方をインポートする場合に使用します。 |
Table | 「テーブルの読み取り」を意味します。Excelファイルを開く際、ワークシートのテーブルのみをインポートする場合に使用します。 |
MergeArea | 「結合セルの読み取り」を意味します。Excelファイルを開く際、ワークシートの結合セルやスパンされたセルのみをインポートする場合に使用します。 |
Style | 「スタイルの読み取り」を意味します。Excelファイルを開く際、ワークシートのセルに適用されているスタイルのみをインポートする場合に使用します。 |
ConditionalFormatting | 「条件付き書式設定の読み取り」を意味します。Excelファイルを開く際、ワークシートに適用されている条件付き書式設定のルールのみをインポートする場合に使用します。 |
DataValidation | 「データ検証の読み取り」を意味します。Excelファイルを開く際、ワークシートに適用されているデータ検証のルールのみをインポートする場合に使用します。 |
PivotTable | 「ピボットテーブルの読み取り」を意味します。Excelファイルを開く際、ワークシートのピボットテーブルのみをインポートする場合に使用します。 |
Shapes | 「図形の読み取り」を意味します。Excelファイルを開く際、ワークシートの図形のみをインポートする場合に使用します。 |
次のサンプルコードは、xlsx ファイルをインポートおよびエクスポートする方法を示します。
C# |
コードのコピー
|
---|---|
// ワークブックを作成し、その最初のワークシートを操作します Workbook workbook = new Workbook(); IWorksheet worksheet = workbook.Worksheets[0]; // 範囲に値を割り当てます worksheet.Range["A3"].Value = 5; worksheet.Range["A2"].Value = 5; worksheet.Range["A1"].Value = 5; worksheet.Range["B1"].Value = 5; // xlsx ファイルをエクスポートします workbook.Save(@"savingfile.xlsx", SaveFileFormat.Xlsx); // パスワードを設定して xlsx ファイルをエクスポートします XlsxSaveOptions options = new XlsxSaveOptions(); options.Password = "Pwd"; workbook.Save(@"savingfile.xlsx", options); // セルの数式を除外して xlsx ファイルをエクスポートします workbook.ActiveSheet.Range["A4"].Formula = "=Sum(A1+A2+A3)"; XlsxSaveOptions options2 = new XlsxSaveOptions(); options2.IgnoreFormulas = true; workbook.Save(@"ignoreformulas.xlsx", options2); // xlsx ファイルをインポートします workbook.Open(@"Source.xlsx", OpenFileFormat.Xlsx); // xlsx ファイルを Open オプションを指定してインポートします XlsxOpenOptions options = new XlsxOpenOptions(); // xlsx ファイルからデータのみをインポートします options.ImportFlags = ImportFlags.Data; workbook.Open(@"Source.xlsx", options); // 開いた後に再計算しません XlsxOpenOptions options1 = new XlsxOpenOptions(); options1.DoNotRecalculateAfterOpened = true; workbook.Open(@"Source.xlsx", options1); |
同様に、xlsm ファイルと xltx ファイルをインポートおよびエクスポートすることもできます。