チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

Koohji

Koohji

Excel のレーダーグラフ(スパイダーグラフまたはウェブグラフとも呼ばれる)は、複数のデータ系列を異なるカテゴリで比較するために使用されます。このグラフではデータポイントを複数軸上にプロットすることで、データのバランスや偏りを直感的かつ明確に表現できます。そのため、パフォーマンス指標の可視化、市場分析、および多次元の比較が必要な状況に特に適しています。本記事では、C# で Spire.XLS for .NET を使用して Excel でレーダーグラフを作成する方法を解説します。

Spire.XLS for .NET をインストールします

まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.XLS

C# で Excel に簡単なレーダーグラフを作成する

Spire.XLS for .NET は、Worksheet.Charts.Add(ExcelChartType.Radar) メソッドを提供しており、これを使用して Excel ワークシートに標準的なレーダーグラフを追加できます。以下は詳細な手順です。

  • Workbook インスタンスを作成します。
  • Workbook.Worksheets[sheetIndex] プロパティを使用して指定したワークシートを取得します。
  • 指定したセルにグラフデータを追加し、セルのスタイルを設定します。
  • Worksheet.Charts.Add(ExcelChartType.Radar) メソッドを使用して、ワークシートにシンプルなレーダーグラフを追加します。
  • Chart.DataRange プロパティを設定して、グラフのデータ範囲を指定します。
  • グラフの位置、凡例、タイトルを設定します。
  • Workbook.SaveToFile() メソッドを使用して、結果をファイルに保存します。
  • C#
using Spire.Xls;
using System.Drawing;

namespace ExcelRadarChart
{
    class Program
    {
        static void Main(string[] args)
        {
            // Workbookのインスタンスを作成
            Workbook workbook = new Workbook();

            // 最初のワークシートを取得
            Worksheet sheet = workbook.Worksheets[0];

            // 指定したセルにグラフデータを追加
            sheet.Range["A1"].Value = "評価";
            sheet.Range["A2"].Value = "コミュニケーション";
            sheet.Range["A3"].Value = "経験";
            sheet.Range["A4"].Value = "作業効率";
            sheet.Range["A5"].Value = "リーダーシップ";
            sheet.Range["A6"].Value = "問題解決";
            sheet.Range["A7"].Value = "チームワーク";

            sheet.Range["B1"].Value = "ジョナサン";
            sheet.Range["B2"].NumberValue = 4;
            sheet.Range["B3"].NumberValue = 3;
            sheet.Range["B4"].NumberValue = 4;
            sheet.Range["B5"].NumberValue = 3;
            sheet.Range["B6"].NumberValue = 5;
            sheet.Range["B7"].NumberValue = 5;

            sheet.Range["C1"].Value = "ライアン";
            sheet.Range["C2"].NumberValue = 2;
            sheet.Range["C3"].NumberValue = 5;
            sheet.Range["C4"].NumberValue = 4;
            sheet.Range["C5"].NumberValue = 4;
            sheet.Range["C6"].NumberValue = 3;
            sheet.Range["C7"].NumberValue = 3;

            // フォントスタイルを設定
            sheet.Range["A1:C1"].Style.Font.IsBold = true;
            sheet.Range["A1:C1"].Style.Font.Size = 11;
            sheet.Range["A1:C1"].Style.Font.Color = Color.White;

            // 行の高さと列の幅を設定
            sheet.Rows[0].RowHeight = 20;
            sheet.Range["A1:C7"].Columns[0].ColumnWidth = 15;

            // セルスタイルを設定
            sheet.Range["A1:C1"].Style.Color = Color.DarkBlue;
            sheet.Range["A2:C7"].Borders[BordersLineType.EdgeBottom].LineStyle = LineStyleType.Thin;
            sheet.Range["A2:C7"].Style.Borders[BordersLineType.EdgeBottom].Color = Color.DarkBlue;
            sheet.Range["B1:C7"].HorizontalAlignment = HorizontalAlignType.Center;
            sheet.Range["A1:C7"].VerticalAlignment = VerticalAlignType.Center;

            // ワークシートにレーダーチャートを追加
            Chart chart = sheet.Charts.Add(ExcelChartType.Radar);

            // グラフの位置を設定
            chart.LeftColumn = 4;
            chart.TopRow = 4;
            chart.RightColumn = 14;
            chart.BottomRow = 29;

            // グラフのデータ範囲を設定
            chart.DataRange = sheet.Range["A1:C7"];
            chart.SeriesDataFromRange = false;

            // グラフタイトルを設定
            chart.ChartTitle = "従業員パフォーマンス評価";
            chart.ChartTitleArea.IsBold = true;
            chart.ChartTitleArea.Size = 14;

            // グラフの凡例の位置を設定
            chart.Legend.Position = LegendPositionType.Corner;

            // 結果のファイルを保存
            workbook.SaveToFile("Excel のレーダーグラフの作成.xlsx", ExcelVersion.Version2016);
            workbook.Dispose();
        }
    }
}

Result of Creating Excel Default Radar Charts with C#

C# で塗りつぶしレーダーグラフを作成する

塗りつぶしレーダーグラフは標準的なレーダーグラフの一種で、データポイント間の領域が色で塗りつぶされている点が特徴です。以下は C# を使用して塗りつぶしレーダーグラフを作成する手順です。

  • Workbook インスタンスを作成します。
  • Workbook.Worksheets[sheetIndex] プロパティを使用して指定したワークシートを取得します。
  • 指定したセルにグラフデータを追加し、セルのスタイルを設定します。
  • Worksheet.Charts.Add(ExcelChartType.RadarFilled) メソッドを使用して、ワークシートに塗りつぶしレーダーグラフを追加します。
  • Chart.DataRange プロパティを設定して、グラフのデータ範囲を指定します。
  • グラフの位置、凡例、タイトルを設定します。
  • Workbook.SaveToFile() メソッドを使用して、結果をファイルに保存します。
  • C#
using Spire.Xls;
using System.Drawing;

namespace ExcelRadarChart
{
    class Program
    {
        static void Main(string[] args)
        {
            // Workbookのインスタンスを作成
            Workbook workbook = new Workbook();

            // 最初のワークシートを取得
            Worksheet sheet = workbook.Worksheets[0];

            // 指定したセルにグラフデータを追加
            sheet.Range["A1"].Value = "評価";
            sheet.Range["A2"].Value = "コミュニケーション";
            sheet.Range["A3"].Value = "経験";
            sheet.Range["A4"].Value = "作業効率";
            sheet.Range["A5"].Value = "リーダーシップ";
            sheet.Range["A6"].Value = "問題解決";
            sheet.Range["A7"].Value = "チームワーク";

            sheet.Range["B1"].Value = "ジョナサン";
            sheet.Range["B2"].NumberValue = 4;
            sheet.Range["B3"].NumberValue = 3;
            sheet.Range["B4"].NumberValue = 4;
            sheet.Range["B5"].NumberValue = 3;
            sheet.Range["B6"].NumberValue = 5;
            sheet.Range["B7"].NumberValue = 5;

            sheet.Range["C1"].Value = "ライアン";
            sheet.Range["C2"].NumberValue = 2;
            sheet.Range["C3"].NumberValue = 5;
            sheet.Range["C4"].NumberValue = 4;
            sheet.Range["C5"].NumberValue = 4;
            sheet.Range["C6"].NumberValue = 3;
            sheet.Range["C7"].NumberValue = 3;

            // フォントスタイルを設定
            sheet.Range["A1:C1"].Style.Font.IsBold = true;
            sheet.Range["A1:C1"].Style.Font.Size = 11;
            sheet.Range["A1:C1"].Style.Font.Color = Color.White;

            // 行の高さと列の幅を設定
            sheet.Rows[0].RowHeight = 20;
            sheet.Range["A1:C7"].Columns[0].ColumnWidth = 15;

            // セルスタイルを設定
            sheet.Range["A1:C1"].Style.Color = Color.DarkBlue;
            sheet.Range["A2:C7"].Borders[BordersLineType.EdgeBottom].LineStyle = LineStyleType.Thin;
            sheet.Range["A2:C7"].Style.Borders[BordersLineType.EdgeBottom].Color = Color.DarkBlue;
            sheet.Range["B1:C7"].HorizontalAlignment = HorizontalAlignType.Center;
            sheet.Range["A1:C7"].VerticalAlignment = VerticalAlignType.Center;

            // ワークシートに塗りつぶしレーダーチャートを追加
            Chart chart = sheet.Charts.Add(ExcelChartType.RadarFilled);

            // グラフの位置を設定
            chart.LeftColumn = 4;
            chart.TopRow = 4;
            chart.RightColumn = 14;
            chart.BottomRow = 29;

            // グラフのデータ範囲を設定
            chart.DataRange = sheet.Range["A1:C7"];
            chart.SeriesDataFromRange = false;

            // グラフタイトルを設定
            chart.ChartTitle = "従業員パフォーマンス評価";
            chart.ChartTitleArea.IsBold = true;
            chart.ChartTitleArea.Size = 14;

            // グラフの凡例の位置を設定
            chart.Legend.Position = LegendPositionType.Corner;

            // 結果のファイルを保存
            workbook.SaveToFile("Excelで塗りつぶしレーダーグラフを作成.xlsx", ExcelVersion.Version2016);
            workbook.Dispose();

        }
    }
}

Create Excel Filled Radar Charts with Spire.XLS

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Excel ファイルは、データ管理、情報分析、レポート共有において、企業や個人、組織にとって欠かせないツールとなっています。しかし、Excel ドキュメントを手動で編集するのは、時間がかかるだけでなく、ミスが発生しやすい作業です。幸いにも、Spire.XLS for Java ライブラリを使用すれば、これらの作業を簡単に自動化でき、効率を向上させ、エラーを減らすことができます。

この記事では、Spire.XLS を使用して Java で Excel ドキュメントを編集する方法を包括的に解説し、この強力なスキルを習得するお手伝いをします。

Spire.XLS for Java をインストールします

まず、Spire. XLS for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url> https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls</artifactId>
        <version>14.12.0</version>
    </dependency>
</dependencies>

Java での Excel ファイルの読み書き

Java で Excel ファイルを扱う際に最も一般的なタスクの一つが、データの読み取りと書き込みです。Spire.XLS for Java は、CellRange.getValue() および CellRange.setValue() メソッドを提供し、セルの値を簡単に取得したり設定したりできます。

Java を使って Excel ファイルを読み書きする手順は以下の通りです:

  • Workbook オブジェクトを作成します。
  • 指定したファイルパスから Excel ファイルを読み込みます。
  • Workbook.getWorksheets().get() メソッドを使用して特定のワークシートにアクセスします。
  • Worksheet.getCellRange() メソッドを用いて特定のセルを取得します。
  • CellRange.getValue() でセルの値を取得し、CellRange.setValue() で更新します。
  • ワークブックを新しい Excel ファイルに保存します。
  • Java
import com.spire.xls.CellRange;
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class ReadExcelData {

    public static void main(String[] args) {

        // Workbookオブジェクトを作成
        Workbook workbook = new Workbook();

        // Excelファイルを読み込む
        workbook.loadFromFile("Sample.xlsx");

        // 特定のワークシートを取得
        Worksheet worksheet = workbook.getWorksheets().get(0);

        // 特定のセルを取得
        CellRange cell = worksheet.getCellRange("A1");

        // セルの値を読み取る
        String text = cell.getValue();

        // セルの値が"Department"かどうかを確認
        if (text.equals("出身地"))
        {
            // セルの値を更新
            cell.setValue("居住地");
        }

        // 別のファイルにワークブックを保存
        workbook.saveToFile("output/セル値の変更.xlsx", ExcelVersion.Version2016);

        // リソースを解放
        workbook.dispose();
    }
}

 Java で Excel のセルの値を設定

Java での Excel セルの書式設定

Excel ドキュメントに書式設定を施すことは、プロフェッショナルな外観のレポートを作成する上で重要です。Spire.XLS for Java は、CellRange クラス内の API を利用して、フォントスタイル、色、セル背景、配置、および行の高さや列の幅を調整できます。

Excel セルにスタイルや書式を適用する手順は以下の通りです:

  • Workbook オブジェクトを作成します。
  • 指定したファイルパスから Excel ファイルを読み込みます。
  • Workbook.getWorksheets().get() メソッドを使用して特定のワークシートにアクセスします。
  • Worksheet.getAllocatedRange() メソッドで割り当てられたセル範囲を取得します。
  • CellRange.getRows()[rowIndex] を用いて特定の行を選択し、セルの背景色、テキストの色、テキストの配置、および行の高さを CellRange オブジェクトのメソッドでカスタマイズします。
  • CellRange.getColumns()[columnIndex] を使用して特定の列を選択し、setColumnWidth() メソッドで列幅を設定します。
  • ワークブックを新しい Excel ファイルに保存します。
  • Java
import com.spire.xls.*;

import java.awt.*;

public class ApplyFormattingExcel {

    public static void main(String[] args) {

        // Workbook オブジェクトを作成
        Workbook workbook = new Workbook();

        // Excel ファイルをロード
        workbook.loadFromFile("Sample.xlsx");

        // 特定のワークシートを取得
        Worksheet worksheet = workbook.getWorksheets().get(0);

        // ワークシートからすべての範囲を取得
        CellRange allocatedRange = worksheet.getAllocatedRange();

        // 行を繰り返し処理
        for (int rowNum = 0; rowNum < allocatedRange.getRowCount(); rowNum++) {
            if (rowNum == 0) {

                // ヘッダー行にセルの色を適用
                allocatedRange.getRows()[rowNum].getStyle().setColor(Color.black);

                // ヘッダー行のフォントの色を変更
                allocatedRange.getRows()[rowNum].getStyle().getFont().setColor(Color.white);
            }

            // 他の行に交互に色を適用
            else if (rowNum % 2 == 1) {
                allocatedRange.getRows()[rowNum].getStyle().setColor(Color.lightGray);
            }
            else {
                allocatedRange.getRows()[rowNum].getStyle().setColor(Color.white);
            }

            // テキストを中央揃え
            allocatedRange.getRows()[rowNum].setHorizontalAlignment(HorizontalAlignType.Center);
            allocatedRange.getRows()[rowNum].setVerticalAlignment(VerticalAlignType.Center);

            // 行の高さを設定
            allocatedRange.getRows()[rowNum].setRowHeight(20);
        }

        // 列を繰り返し処理
        for (int columnNum = 0; columnNum < allocatedRange.getColumnCount(); columnNum++) {

            // 列の幅を設定
            if (columnNum > 0) {
                allocatedRange.getColumns()[columnNum].setColumnWidth(15);
            }
        }

        // 内枠を追加する
        allocatedRange.borderInside();
        allocatedRange.getBorders().setColor(Color.WHITE);

        // ワークブックを別名で保存
        workbook.saveToFile("output/Excelの書式設定.xlsx", ExcelVersion.Version2016);

        // リソースを解放
        workbook.dispose();
    }
}

 Java で Excel ワークシートに書式を適用

Java での Excel 内のテキスト検索と置換

検索と置換機能は、データ管理を簡素化し、生産性を向上させる便利な手法です。Spire.XLS for Java を使用すれば、Worksheet.findString() メソッドで特定の文字列を含むセルを迅速に見つけ、CellRange.setValue() メソッドでその値を置き換えることができます。

Java を使って Excel 内のテキストを検索して置換する手順は以下の通りです:

  • Workbook オブジェクトを作成します。
  • 指定したファイルパスから Excel ファイルを読み込みます。
  • Workbook.getWorksheets().get() メソッドを使用して特定のワークシートにアクセスします。
  • Worksheet.findString() メソッドで指定した文字列を含むセルを見つけます。
  • CellRange.setValue() メソッドでセルの値を更新します。
  • ワークブックを別の Excel ファイルに保存します。
  • Java
import com.spire.xls.CellRange;
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class FindAndReplaceExcel {

    public static void main(String[] args) {

        // Workbook オブジェクトを作成
        Workbook workbook = new Workbook();

        // Excel ファイルをロード
        workbook.loadFromFile("Sample.xlsx");

        // 特定のワークシートを取得
        Worksheet worksheet = workbook.getWorksheets().get(0);

        // 置換用の部署名を定義した配列
        String[] items = new String[] { "No", "Name", "Age", "Occupation", "Birthplace", "Interests" };

        // Excel シート内で置換されるプレースホルダーの配列を定義
        String[] placeholders = new String[] { "番号", "名前", "年齢", "職業", "出身地", "趣味" };

        // プレースホルダー文字列を繰り返し処理
        for (int i = 0; i < placeholders.length; i++)
        {
            // 現在のプレースホルダー文字列を含むセルを検索
            CellRange cell = worksheet.findString(placeholders[i], false, false);

            // 見つかったセルのテキストを対応する部署名に置換
            cell.setValue(items[i]);
        }

        // ワークブックを別名で保存
        workbook.saveToFile("output/Excelの検索と置換.xlsx", ExcelVersion.Version2016);

        // リソースを解放
        workbook.dispose();
    }
}

Spire.XLS による Excel セルの値の検索と置換

Java での Excel に数式やグラフを追加する

基本的なファイル操作に加え、Spire.XLS for Java は Excel ファイルを扱う高度な手法も提供します。これにより、複雑なタスクを自動化し、計算を実行し、動的なレポートを作成することが可能です。

Java を使用して Excel に数式を追加し、グラフを作成する手順は以下の通りです:

  • Workbook オブジェクトを作成します。
  • 指定したファイルパスから Excel ファイルを読み込みます。
  • Workbook.getWorksheets().get() メソッドを使用して特定のワークシートにアクセスします。
  • Worksheet.getRange().get() メソッドで特定のセルを選択します。
  • CellRange.setFormula() メソッドでセルに数式を挿入します。
  • Worksheet.getCharts().add() メソッドを用いてワークシートにカラムチャートを追加します。
  • グラフのデータ範囲、位置、タイトル、およびその他の属性を Chart オブジェクトのメソッドで設定します。
  • ワークブックを別の Excel ファイルに保存します。
  • Java
import com.spire.xls.*;

public class AddFormulaAndChartExcel {

    public static void main(String[] args) {

        // Workbook オブジェクトを作成
        Workbook workbook = new Workbook();

        // Excel ファイルをロード
        workbook.loadFromFile("Sample.xlsx");

        // 特定のワークシートを取得
        Worksheet worksheet = workbook.getWorksheets().get(0);

        // ワークシートからすべての範囲を取得
        CellRange allocatedRange = worksheet.getAllocatedRange();

        // 行を繰り返し処理
        for (int rowNum = 0; rowNum < allocatedRange.getRowCount(); rowNum++) {
            if (rowNum == 0) {
                // E1セルにテキストを記入
                worksheet.getRange().get(rowNum + 1, 5).setText("月間売上高");

                // セルにスタイルを適用
                worksheet.getRange().get(rowNum + 1, 5).getStyle().getFont().isBold(true);
                worksheet.getRange().get(rowNum + 1, 5).getStyle().setHorizontalAlignment(HorizontalAlignType.Left);
            } else {
                // E2からE9までのセルに数式を追加
                worksheet.getRange().get(rowNum + 1, 5).setFormula("=SUM(B" + (rowNum + 1) + ":C" + (rowNum + 1) + ")");
            }
            // 列の幅を自動調整
            worksheet.autoFitColumn(6);
        }

        // クラスター化縦棒グラフを追加
        Chart chart = worksheet.getCharts().add(ExcelChartType.ColumnClustered);

        // グラフのデータ範囲を設定
        chart.setDataRange(worksheet.getCellRange("A1:C9"));
        chart.setSeriesDataFromRange(false);

        // グラフの位置を設定
        chart.setLeftColumn(1);
        chart.setTopRow(11);
        chart.setRightColumn(8);
        chart.setBottomRow(22);

        // グラフタイトルを設定およびフォーマット
        chart.setChartTitle("販売動向");
        chart.getChartTitleArea().setSize(12);
        chart.getChartTitleArea().isBold(true);

        // ワークブックを別名で保存
        workbook.saveToFile("output/Excelに数式とグラフを追加.xlsx", ExcelVersion.Version2016);

        // リソースを解放
        workbook.dispose();
    }
}

Java で Excel に数式とグラフを追加

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

PDF のフォント情報を取得するとは、PDF ドキュメント内で使用されているフォントの詳細を抽出するプロセスを指します。この情報には、通常、フォント名、サイズ、種類、色、その他の属性が含まれます。これらの詳細を把握することで、一貫性や著作権の遵守、美観を確保するのに役立ちます。本記事では、C# で Spire.PDF for .NET を使用して PDF のフォント情報を取得する方法を解説します。

Spire.PDF for .NET をインストールします

まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.PDF

C# で指定したテキストのフォントを取得する

Spire.PDF for .NET を使用すると、指定したテキストを検索し、フォント名、サイズ、スタイル、色といったフォントフォーマット情報を PdfTextFragment クラスのプロパティから取得できます。以下に詳細な手順を示します。

  • PdfDocument インスタンスを作成します。
  • PdfDocument.LoadFromFile() メソッドで PDF ファイルを読み込みます。
  • PdfDocument.Pages[] プロパティで特定のページを取得します。
  • PdfTextFinder インスタンスを作成します。
  • PdfTextFinder.Find() メソッドを使用して指定したテキストを検索し、PdfTextFragment オブジェクトを取得します。
  • StringBuilder インスタンスを作成し、情報を格納します。
  • 見つかったテキストを反復処理します。
    • PdfTextFragment.Text プロパティでテキストを取得します。
    • PdfTextFragment.TextStates[0].FontName プロパティでフォント名を取得します。
    • PdfTextFragment.TextStates[0].FontSize プロパティでフォントサイズを取得します。
    • PdfTextFragment.TextStates[0].FontFamily プロパティでフォントファミリを取得します。
    • フォントがボールドまたは疑似ボールドかどうか(フォントスタイルが塗りとストロークに設定されている場合)を PdfTextFragment.TextStates[0].IsSimulateBold および PdfTextFragment.TextStates[0].IsItalic プロパティで確認します。
    • PdfTextFragment.TextStates[0].ForegroundColor プロパティでフォント色を取得します。
    • StringBuilder.AppendLine() メソッドでフォント情報を文字列に追加します。
  • 情報をテキストファイルに書き込みます。
  • C#
using Spire.Pdf;
using Spire.Pdf.Texts;
using System.Drawing;
using System.Text;

namespace GetTextFont
{
    class Program
    {
        static void Main(string[] args)
        {
            // PdfDocumentインスタンスを作成
            PdfDocument pdf = new PdfDocument();

            // PDFファイルを読み込む
            pdf.LoadFromFile("Sample.pdf");

            // 最初のページを取得
            PdfPageBase page = pdf.Pages[0];

            // PdfTextFinderインスタンスを作成
            PdfTextFinder finds = new PdfTextFinder(page);

            // ページ内の指定テキストを検索
            finds.Options.Parameter = TextFindParameter.None;
            List result = finds.Find("珊瑚礁");

            // StringBuilderインスタンスを作成
            StringBuilder str = new StringBuilder();

            // 検索結果を反復処理
            foreach (PdfTextFragment find in result)
            {
                // 見つかったテキストを取得
                string text = find.Text;
                // フォント名を取得
                string FontName = find.TextStates[0].FontName;
                // フォントサイズを取得
                float FontSize = find.TextStates[0].FontSize;
                // フォントファミリを取得
                string FontFamily = find.TextStates[0].FontFamily;
                // ボールドまたはイタリックであるかを確認
                bool IsBold = find.TextStates[0].IsBold;
                bool IsSimulateBold = find.TextStates[0].IsSimulateBold;
                bool IsItalic = find.TextStates[0].IsItalic;
                // フォント色を取得
                Color color = find.TextStates[0].ForegroundColor;

                // フォント情報をStringBuilderに追加
                str.AppendLine("テキスト: " + text);
                str.AppendLine("フォント名: " + FontName);
                str.AppendLine("フォントサイズ: " + FontSize);
                str.AppendLine("フォントファミリ: " + FontFamily);
                str.AppendLine("ボールド: " + IsBold);
                str.AppendLine("疑似ボールド: " + IsSimulateBold);
                str.AppendLine("イタリック: " + IsItalic);
                str.AppendLine("フォント色: " + color);
                str.AppendLine();
            }

            // 情報をテキストファイルに書き込む
            File.WriteAllText("PDFフォント.txt", str.ToString());
            pdf.Dispose();
        }
    }
}

C#で取得した指定テキストのフォント情報

C# で PDF に使用されているフォントを取得する

Spire.PDF for .NET は、PDF ドキュメント内で使用されているフォントを表す PdfUsedFont クラスを提供しています。すべての使用フォントのフォーマットを取得するには、各フォントを反復処理して、対応するプロパティからフォント名、サイズ、種類、スタイルを取得します。以下に詳細な手順を示します。

  • PdfDocument インスタンスを作成します。
  • PdfDocument.LoadFromFile() メソッドで PDF ファイルを読み込みます。
  • PdfDocument.UsedFonts プロパティを使用して、PDF ファイルで使用されているすべてのフォントを取得します。
  • StringBuilder インスタンスを作成し、情報を格納します。
  • 使用フォントを反復処理します。
    • PdfUsedFont.Name プロパティでフォント名を取得します。
    • PdfUsedFont.Size プロパティでフォントサイズを取得します。
    • PdfUsedFont.Type プロパティでフォント種類を取得します。
    • PdfUsedFont.Style プロパティでフォントスタイルを取得します。
    • StringBuilder.AppendLine() メソッドでフォント情報を文字列に追加します。
  • 情報をテキストファイルに書き込みます。
  • C#
using Spire.Pdf;
using Spire.Pdf.Graphics;
using Spire.Pdf.Graphics.Fonts;
using System.IO;
using System.Text;

namespace GetPdfFont
{
    class Program
    {
        static void Main(string[] args)
        {
            // PdfDocumentインスタンスを作成
            PdfDocument pdf = new PdfDocument();

            // PDFファイルを読み込む
            pdf.LoadFromFile("Sample.pdf");

            // PDFファイルで使用されているフォントを取得
            PdfUsedFont[] fonts = pdf.UsedFonts;

            // StringBuilderインスタンスを作成
            StringBuilder str = new StringBuilder();

            // 使用フォントを反復処理
            foreach (PdfUsedFont font in fonts)
            {
                // フォント名を取得
                string name = font.Name;

                // フォントサイズを取得
                float size = font.Size;

                // フォントタイプを取得
                PdfFontType type = font.Type;

                // フォントスタイルを取得
                PdfFontStyle style = font.Style;

                // フォント情報をStringBuilderに追加
                str.AppendLine($"フォント名: {name}, フォントサイズ: {size}\nフォントタイプ: {type}, フォントスタイル: {style}\n\n");
            }

            // 情報をテキストファイルに書き込む
            File.WriteAllText("PDFフォント情報.txt", str.ToString());
            pdf.Close();
        }
    }
}

Spire.PDFで取得したPDFのフォント情報

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

XML は異なるシステム間でデータを交換するためによく使用されます。一方、Excel はデータ分析やレポート作成のための広く認識された形式です。XML データを Excel に変換することで、Excel の強力な機能を活用してデータをより効果的に分析し、視覚化できます。この変換プロセスは、金融、医療、e コマースなど、さまざまな業界で重要です。

この記事では、Spire.XLS for .NET を使用して C# で XML を Excel および PDF に変換する方法を学びます。

Spire.XLS for .NET をインストールします

まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.XLS

XML 構造の理解: 要素、属性、データ

XML を Excel に変換する前に、XML ファイルの構造を理解することが重要です。XML は、タグを使用して要素、属性、データを定義するマークアップ言語です。これらのコンポーネントを以下のように分類できます。

  • 要素: XML の基本構成要素で、開始タグと終了タグで定義され、データや他の要素を含むことができます。
<person>
    <name>鈴木美咲</name>
    <age>30</age>
</person>
  • 属性: 要素に関する追加情報を提供します。要素の開始タグ内で指定されます。
<person id="1">
    <name>鈴木美咲</name>
    <age>30</age>
</person>

C# で XML を Excel に変換する

.NET では、XML ファイルを操作するためのクラスを提供する System.Xml.Linq 名前空間を使用できます。主に使用されるクラスは XDocument で、XML ドキュメントを簡単に読み込み、操作できます。

以下はその例です:

  • C#
using System;
using System.Xml.Linq;

class Program
{
    static void Main()
    {
        // XMLファイルを読み込む
        XDocument doc = XDocument.Load("data.xml");
        XElement root = doc.Root;

        // 要素を繰り返し処理する
        foreach (XElement person in root.Elements("person"))
        {
            string name = person.Element("name")?.Value;
            string age = person.Element("age")?.Value;

            // 名前と年齢を出力
            Console.WriteLine($"名前: {name}, 年齢: {age}");
        }
    }
}

ML データを解析した後、次はそのデータを Excel ワークシートにマッピングします。Spire.XLS for .NET を使用して、新しいワークブックを作成し、特定のセルにデータを入力し、さまざまなスタイルや書式設定を適用できます。これには、列の幅を自動調整、テキストの配置調整、ヘッダーを太字にすることが含まれます。

C# で XML を Excel に変換する手順は以下の通りです:

  • System.Xml.Linq ライブラリを使用して XML ファイルからデータを抽出します。
  • Workbook オブジェクトを作成します。
  • Workbook.Worksheets.Add() メソッドを使用してワークシートを追加します。
  • Worksheet.SetValue() メソッドを使用して、抽出したデータをワークシートのセルに書き込みます。
  • ワークシートの外観を向上させるためにスタイルと書式設定を適用します。
  • Workbook.SaveToFile() メソッドを使用して、Excel ファイルとしてワークブックを保存します。

以下のコードは、XML データを読み取り、それを Excel ファイルにインポートする効率的で高度な方法を示しています。

  • C#
using Spire.Xls;
using System.Xml.Linq;

namespace ConvertXmlToExcel
{
    class Program
    {
        static void Main(string[] args)
        {
            // Workbookオブジェクトを作成
            Workbook workbook = new Workbook();

            // デフォルトのワークシートを削除
            workbook.Worksheets.Clear();

            // ワークシートを追加し、名前を付ける
            Worksheet worksheet = workbook.Worksheets.Add("Books");

            // XMLファイルを読み込む
            XDocument xmlDoc = XDocument.Load("Sample.xml");
            XElement xmlRoot = xmlDoc.Root;

            // 最初の"book"要素を取得
            XElement firstBook = xmlRoot.Element("book");

            // ヘッダー情報を抽出してリストに変換
            var headers = firstBook.Elements().ToList();

            // ヘッダーをExcelに書き込む
            for (int colIndex = 0; colIndex < headers.Count; colIndex++)
            {
                string headerText = headers[colIndex].Name.LocalName;
                worksheet.SetValue(1, colIndex + 1, headerText);
            }

            // 他のデータをExcelに書き込む
            int rowIndex = 2;
            foreach (XElement book in xmlRoot.Elements("book"))
            {
                var dataNodes = book.Elements().ToList();
                for (int colIndex = 0; colIndex < dataNodes.Count; colIndex++)
                {
                    string value = dataNodes[colIndex].Value;
                    worksheet.SetValue(rowIndex, colIndex + 1, value);
                }
                rowIndex++;
            }

            // 列の幅を自動調整
            worksheet.AllocatedRange.AutoFitColumns();

            // 配置を設定
            worksheet.AllocatedRange.HorizontalAlignment = HorizontalAlignType.Left;

            // フォントスタイルを設定
            worksheet.Range["A1:F1"].Style.Font.IsBold = true;

            // Excelファイルとして保存
            workbook.SaveToFile("output/XMLToExcel.xlsx");

            // リソースを解放
            workbook.Dispose();
        }
    }
}

C# で XML を Excel に変換した結果

C# で XML を PDF に変換する

前の例では、XML ファイルからデータを Excel ワークシートにインポートする方法を示しました。このワークシートは、その後、Worksheet.SaveToPdf() メソッドを使用して PDF ファイルに変換できます。PDF を構造的に整えるために、ページレイアウト設定(マージンやグリッド線の保持など)を調整することが必要です。

XML を PDF に変換する手順は以下の通りです:

  • System.Xml.Linq ライブラリを使用して XML ファイルからデータを取得します。
  • Workbook オブジェクトを作成します。
  • Workbook.Worksheets.Add() メソッドでワークシートを追加します。
  • Worksheet.SetValue() メソッドを使って XML ファイルから抽出したデータをワークシートのセルに入力します。
  • スタイルや書式設定を適用してワークシートの外観を改善します。
  • PageSetup オブジェクトを使用してページ設定を構成します。
  • Worksheet.SaveToPdf() メソッドを使用してワークシートをPDFとして保存します。

以下のコードスニペットは、XML データをワークシートにインポートし、その後、そのワークシートを PDF ファイルとして保存する方法を示しています。

  • C#
using Spire.Xls;
using Spire.Xls.Core;
using System.Xml.Linq;

namespace ConvertXmlToPdf
{
    class Program
    {
        static void Main(string[] args)
        {
            // Workbookオブジェクトを作成
            Workbook workbook = new Workbook();

            // デフォルトのワークシートを削除
            workbook.Worksheets.Clear();

            // ワークシートを追加し、名前を付ける
            Worksheet worksheet = workbook.Worksheets.Add("Books");

            // XMLファイルを読み込む
            XDocument xmlDoc = XDocument.Load("Sample.xml");
            XElement xmlRoot = xmlDoc.Root;

            // 最初の"book"要素を取得
            XElement firstBook = xmlRoot.Element("book");

            // ヘッダー情報を抽出してリストに変換
            var headers = firstBook.Elements().ToList();

            // ヘッダーをExcelに書き込む
            for (int colIndex = 0; colIndex < headers.Count; colIndex++)
            {
                string headerText = headers[colIndex].Name.LocalName;
                worksheet.SetValue(1, colIndex + 1, headerText);
            }

            // 他のデータをExcelに書き込む
            int rowIndex = 2;
            foreach (XElement book in xmlRoot.Elements("book"))
            {
                var dataNodes = book.Elements().ToList();
                for (int colIndex = 0; colIndex < dataNodes.Count; colIndex++)
                {
                    string value = dataNodes[colIndex].Value;
                    worksheet.SetValue(rowIndex, colIndex + 1, value);
                }
                rowIndex++;
            }

            // 列の幅を自動調整
            worksheet.AllocatedRange.AutoFitColumns();

            // 配置を設定
            worksheet.AllocatedRange.HorizontalAlignment = HorizontalAlignType.Left;

            // フォントスタイルを設定
            worksheet.Range["A1:F1"].Style.Font.IsBold = true;

            // ページ設定を行う
            workbook.ConverterSetting.SheetFitToPage = true;
            PageSetup pageSetup = worksheet.PageSetup;
            pageSetup.TopMargin = 0.3;
            pageSetup.BottomMargin = 0.3;
            pageSetup.LeftMargin = 0.3;
            pageSetup.RightMargin = 0.3;

            // グリッド線を保持
            pageSetup.IsPrintGridlines = true;

            // PDFとして保存
            worksheet.SaveToPdf("output/XMLToPDF.pdf");

            // リソースを解放
            workbook.Dispose();
        }
    }
}

.NET で XML を PDF に変換した結果

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

C# でのストリーム操作を使用することで、開発者は Excel ファイルを動的に作成、読み込み、保存することができ、柔軟かつ効率的なデータ処理が可能になります。この方法では、物理的なファイルストレージが不要になり、アプリケーションのパフォーマンスと応答性が向上します。リアルタイムでのデータ操作やストレージに制限のある環境に最適で、データ交換やシステム統合を簡素化します。本記事では、Spire.XLS for .NET を使用して、C# でのストリームを介した Excel ファイルの作成、読み込み、編集、保存方法を示し、アジャイルでスケーラブルなデータ管理ソリューションを提供します。

Spire.XLS for .NET をインストールします

まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.XLS

Excel ファイルを動的に作成し、ストリームに保存

Spire.XLS for .NET を使用すると、開発者は Workbook オブジェクトを初期化し、データやフォーマットを埋め込んでから、Workbook.SaveToStream() メソッドを使用してワークブックをストリームに保存することで、メモリ内で Excel ファイルを動的に作成できます。この方法では、物理的なファイルストレージが不要になり、アプリケーションのパフォーマンスと応答性が向上します。

以下は、C# で Excel ファイルを作成し、ストリームに保存する手順です:

  • Workbook クラスのインスタンスを作成して新しい Excel ワークブックを生成します(デフォルトで 3 つのワークシートが含まれます)。
  • Workbook.Worksheets[] プロパティを使用して特定のワークシートを取得します。
  • DataTable を使用してデータを整理し、ワークシートに書き込むデータを定義します。
  • Worksheet.InsertDataTable() メソッドまたは Worksheet.Range[].Value プロパティを使用してデータをワークシートに挿入します。
  • 必要に応じてセルのフォーマット(色、フォント、罫線など)を適用し、列幅を調整します。
  • Workbook.SaveToStream() メソッドを使用してワークブックをメモリストリームに保存します。そのストリームを使用してファイルに保存したり、ネットワーク経由で送信することが可能です。
  • C#
using Spire.Xls;
using System.Data;
using System.Drawing;

namespace CreateExcelStream
{
    class Program
    {
        static void Main(string[] args)
        {
            // 新しいワークブックインスタンスを作成
            Workbook workbook = new Workbook();

            // ワークブックの最初のワークシートにアクセス
            Worksheet sheet = workbook.Worksheets[0];

            // サンプルデータを含むDataTableを作成してデータを追加
            DataTable dataTable = new DataTable("データ");
            dataTable.Columns.Add("ID", typeof(int));
            dataTable.Columns.Add("名前", typeof(string));
            dataTable.Columns.Add("年齢", typeof(int));
            dataTable.Columns.Add("国", typeof(string));
            dataTable.Columns.Add("給与 ($)", typeof(decimal));
            dataTable.Rows.Add(101, "ジョン・スミス", 28, "アメリカ", 54000m);
            dataTable.Rows.Add(102, "マリア・ガルシア", 34, "日本", 65500m);
            dataTable.Rows.Add(103, "リアム・ジョンソン", 22, "カナダ", 48000m);
            dataTable.Rows.Add(104, "エマ・ブラウン", 30, "オーストラリア", 72300m);
            dataTable.Rows.Add(105, "ウェイ・チャン", 40, "中国", 58700m);
            dataTable.Rows.Add(106, "ソフィア・ロペス", 26, "メキシコ", 45200m);

            // DataTableからワークシートにデータを挿入
            sheet.InsertDataTable(dataTable, true, 1, 1);

            // ワークシートをフォーマット
            // ヘッダー行をスタイル設定
            sheet.Rows[0].Style.Color = Color.LightSkyBlue;
            sheet.Rows[0].Style.Font.FontName = "Yu Gothic UI";
            sheet.Rows[0].Style.Font.Size = 12f;
            sheet.Rows[0].BorderAround(); // ヘッダー行に外枠を追加
            sheet.Rows[0].Borders.Color = Color.LightSteelBlue; // 枠線の色を設定

            // データ行をスタイル設定
            for (int i = 1; i < sheet.AllocatedRange.Rows.Count(); i++)
            {
                sheet.Rows[i].Style.Color = Color.LightGray;
                sheet.Rows[i].Style.Font.FontName = "Yu Gothic UI";
                sheet.Rows[i].Style.Font.Size = 11f;
            }
            sheet.Range[2, 1, sheet.Rows.Count(), sheet.Columns.Count()].BorderInside(); // データ行に内枠を追加
            sheet.Range[2, 1, sheet.Rows.Count(), sheet.Columns.Count()].Borders.Color = Color.LightSteelBlue; // 枠線の色を設定

            // 列幅を内容に合わせて調整
            for (int j = 1; j <= sheet.AllocatedRange.Columns.Count(); j++)
            {
                sheet.AutoFitColumn(j);
            }

            // ワークブックをメモリストリームに保存
            MemoryStream stream = new MemoryStream();
            workbook.SaveToStream(stream, FileFormat.Version2016);

            // ストリームの内容をファイルに書き込む
            File.WriteAllBytes("output/ストリームでExcelファイルを作成.xlsx", stream.ToArray());

            // リソースを解放
            workbook.Dispose();
        }
    }
}

C# コードで Excel ファイルを作成し、ストリームに保存

C# でストリームから Excel ファイルを読み込む

Spire.XLS for .NET を使用すると、Workbook.LoadFromStream() メソッドで直接ストリームから Excel ファイルを読み込むことができます。ファイルが読み込まれると、開発者はセルデータに簡単にアクセスでき、ファイル I/O 操作を必要とせずにメモリの使用効率を最適化し、迅速かつ柔軟にデータ処理を行えます。

C# でストリームから Excel ファイルを読み込み、データを取得する手順は次の通りです:

  • Workbook インスタンスを作成します。
  • MemoryStream または FileStream オブジェクトを作成します。
  • Workbook.LoadFromStream() メソッドを使用して、ストリームから Excel ファイルをワークブックに読み込みます。
  • Workbook.Worksheets[] プロパティを使用して最初のワークシートを取得します。
  • ワークシートの行と列をループして、セルのデータを Worksheet.AllocatedRange[].Value プロパティで抽出します。
  • 取得したデータを表示するか、他の操作に使用します。
  • C#
using Spire.Xls;

namespace LoadExcelStream
{
    class Program
    {
        static void Main(string[] args)
        {
            // Workbookクラスのインスタンスを作成
            Workbook workbook = new Workbook();

            // メモリストリームを作成
            MemoryStream stream = new MemoryStream();
            File.OpenRead("Sample.xlsx").CopyTo(stream);

            // ストリームからExcelファイルを読み込む
            workbook.LoadFromStream(stream);

            // ワークブック内の最初のワークシートにアクセス
            Worksheet sheet = workbook.Worksheets[0];

            // ワークシートから取得したデータを格納するリストを初期化
            List<List<string>> data = new List<List<string>>();
            for (int i = 0; i < sheet.AllocatedRange.Rows.Count(); i++)
            {
                // 各行のデータを保持するリストを作成
                List<string> lines = new List<string>();
                for (int j = 0; j < sheet.AllocatedRange.Columns.Count(); j++)
                {
                    // セルのテキストを取得して行に追加
                    lines.Add(sheet.AllocatedRange[i + 1, j + 1].Value);
                }
                // 行をデータリストに追加
                data.Add(lines);
            }

            // 取得したデータを出力するか、他の操作に利用
            foreach (List<string> lines in data)
            {
                Console.WriteLine(string.Join(" | ", lines));
            }
        }
    }
}

Spire.XLS で Excel ファイルを読み込み、データを取得

C# でストリーム内で Excel ファイルを編集する

Spire.XLS for .NET を使用すると、Excel ファイルをメモリ内で編集できます。最初にファイルを Workbook オブジェクトに読み込んでから、セルの値やフォーマットを変更し、変更後のファイルをストリームに保存することができます。この方法により、物理的なストレージを使用せずにシームレスなリアルタイムの変更が可能です。

C# でストリーム内の Excel ファイルを編集する手順は次の通りです:

  • Workbook インスタンスを作成します。
  • MemoryStream または FileStream インスタンスを作成します。
  • Workbook.LoadFromStream() メソッドを使用して、ストリームから Excel ファイルを読み込みます。
  • Workbook.Worksheets[] プロパティを使用して最初のワークシートにアクセスします。
  • セル範囲の Style プロパティを使用して、ヘッダー行やデータ行のフォント、サイズ、背景色などを変更します。
  • Worksheet.AutoFitColumn() メソッドを使用して、内容に合わせて列幅を自動調整します。
  • Workbook.SaveToStream() メソッドを使用して変更をストリームに保存します。
  • C#
using Spire.Xls;
using System.Drawing;

namespace ModifyExcelStream
{
    class Program
    {
        static void Main(string[] args)
        {
            // Workbookクラスの新しいインスタンスを作成
            Workbook workbook = new Workbook();

            // メモリストリームを作成
            MemoryStream stream = new MemoryStream();
            File.OpenRead("Sample.xlsx").CopyTo(stream);

            // ストリームからExcelファイルを読み込む
            workbook.LoadFromStream(stream);

            // ワークブック内の最初のワークシートにアクセス
            Worksheet sheet = workbook.Worksheets[0];

            // ヘッダー行のスタイルを変更
            CellRange headerRow = sheet.AllocatedRange.Rows[0];
            headerRow.Style.Font.FontName = "Yu Gothic UI";
            headerRow.Style.Font.Size = 12f;
            headerRow.Style.Color = Color.LightBlue;

            // データ行のスタイルを変更
            for (int i = 1; i < sheet.AllocatedRange.Rows.Count(); i++)
            {
                CellRange dataRow = sheet.AllocatedRange.Rows[i];
                dataRow.Style.Font.FontName = "Yu Mincho";
                dataRow.Style.Font.Size = 10f;
                dataRow.Style.Color = Color.LightGray;
                // 行ごとに交互の色を付ける(偶数行)
                if (i % 2 == 0)
                {
                    dataRow.Style.Color = Color.LightSlateGray;
                }
            }

            // 列の幅をコンテンツに基づいて自動調整
            for (int k = 1; k <= sheet.AllocatedRange.Columns.Count(); k++)
            {
                sheet.AutoFitColumn(k);
            }

            // 枠線の色を変更
            sheet.AllocatedRange.Style.Borders.Color = Color.White;

            // 修正したワークブックをストリームに保存
            workbook.SaveToStream(stream);

            // ストリームの内容を新しいファイルに書き込む
            File.WriteAllBytes("output/ストリームでExcelファイルを修正.xlsx", stream.ToArray());

            // リソースを解放
            workbook.Dispose();
        }
    }
}

.NETを使ったストリームでのExcelファイルの修正

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Excel では、行、列、セルをコピーすることは基本的な操作であり、ワークシート内や複数のワークシート間でデータを効率的に複製することができます。Java を使用してプログラムで行、列、セルをコピーする方法を理解することで、大量のデータを扱う場合や繰り返し作業を自動化する場合に、データ操作が大幅に効率化されます。本記事では、Spire.XLS for Java を使用して、書式を含めて Excel の行、列、セルをコピーする方法を解説します。

Spire.XLS for Java をインストールします

まず、Spire.XLS for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls</artifactId>
        <version>14.12.0</version>
    </dependency>
</dependencies>

Java で Excel の行を書式付きでコピーする

Spire.XLS for Java の Worksheet.copyRow(CellRange sourceRow, Worksheet destSheet, int destRowIndex, EnumSet<CopyRangeOptions> copyOptions) メソッドを使用すると、同一ワークシート内または異なるワークシート間で行を複製することができます。このメソッドの CopyRangeOptions パラメーターを使用することで、コピーする項目(フラグ、条件付き書式、データ検証、数式値のみなど)を細かく制御できます。

以下の手順に従って、異なるワークシート間で書式付きで行をコピーする方法を説明します。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.loadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.getWorksheets().get(index) メソッドを使用して、ソースとコピー先のワークシートを取得します。
  • Worksheet.getRows()[index] メソッドを使用して、コピーする行を取得します。
  • Worksheet.copyRow(CellRange sourceRow, Worksheet destSheet, int destRowIndex, EnumSet<CopyRangeOptions> copyOptions) メソッドを使用して、ソースワークシートの行をコピー先ワークシートにコピーします。
  • ソース行のセルの列幅をコピー先行の対応するセルにコピーします。
  • Workbook.saveToFile() メソッドを使用して、ワークブックをファイルに保存します。
  • Java
import com.spire.xls.*;

import java.util.EnumSet;

public class CopyRows {
    public static void main(String[] args) {
        // Workbookオブジェクトを作成
        Workbook workbook = new Workbook();
        // Excelファイルを読み込む
        workbook.loadFromFile("Sample.xlsx");

        // ソースワークシートを取得
        Worksheet sheet1 = workbook.getWorksheets().get(0);

        // 目的のワークシートを取得
        Worksheet sheet2 = workbook.getWorksheets().get(1);

        // コピーしたい行を取得
        CellRange row = sheet1.getRows()[0];

        // ソースワークシートの行を目的のワークシートの最初の行にコピー
        sheet1.copyRow(row, sheet2, 1, EnumSet.of(CopyRangeOptions.All));

        int columns = sheet1.getColumns().length;

        // ソース行のセルの列幅を目的行の対応するセルにコピー
        for (int i = 0; i < columns; i++) {
            double columnWidth = row.getColumns()[i].getColumnWidth();
            sheet2.getRows()[0].getColumns()[i].setColumnWidth(columnWidth);
        }

        // ワークブックをファイルに保存
        workbook.saveToFile("output/Excelの行をコピー.xlsx", ExcelVersion.Version2016);
        workbook.dispose();
    }
}

 Java を使った書式付き Excel 行のコピー結果

Java で Excel の列を書式付きでコピーする

列を書式付きでコピーする場合、Worksheet.copyColumn(CellRange sourceColumn, Worksheet destSheet, int destColIndex, EnumSet<CopyRangeOptions> copyOptions) メソッドを使用します。以下に詳細な手順を示します。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.loadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.getWorksheets().get(index) メソッドを使用して、ソースとコピー先のワークシートを取得します。
  • Worksheet.getColumns()[index] メソッドを使用して、コピーする列を取得します。
  • Worksheet.copyColumn(CellRange sourceColumn, Worksheet destSheet, int destColIndex, EnumSet<CopyRangeOptions> copyOptions) メソッドを使用して、ソースワークシートの列をコピー先ワークシートにコピーします。
  • ソース列のセルの行高さをコピー先列の対応するセルにコピーします。
  • Workbook.saveToFile() メソッドを使用して、ワークブックをファイルに保存します。
  • Java
import com.spire.xls.*;

import java.util.EnumSet;

public class CopyColumns {
    public static void main(String[] args) {
        // Workbookオブジェクトを作成
        Workbook workbook = new Workbook();
        // Excelファイルを読み込む
        workbook.loadFromFile("Sample.xlsx");

        // ソースワークシートを取得
        Worksheet sheet1 = workbook.getWorksheets().get(0);

        // 目的のワークシートを取得
        Worksheet sheet2 = workbook.getWorksheets().get(1);

        // コピーしたい列を取得
        CellRange column = sheet1.getColumns()[0];

        // ソースワークシートの列を目的のワークシートの最初の列にコピー
        sheet1.copyColumn(column, sheet2, 1, EnumSet.of(CopyRangeOptions.All));

        int rows = column.getRows().length;

        // ソース列のセルの行の高さを目的列の対応するセルにコピー
        for (int i = 0; i < rows; i++) {
            double rowHeight = column.getRows()[i].getRowHeight();
            sheet2.getColumns()[0].getRows()[i].setRowHeight(rowHeight);
        }

        // ワークブックをファイルに保存
        workbook.saveToFile("output/Excelの列をコピー.xlsx", ExcelVersion.Version2016);
        workbook.dispose();
    }
}

Spire.XLS で Excel の列を書式付きでコピーした結果

Java で Excel のセルを書式付きでコピーする

Spire.XLS for Java では、CellRange.copy(CellRange destRange, EnumSet<CopyRangeOptions> copyOptions) メソッドを使用して、セル範囲を書式付きでコピーすることも可能です。以下に手順を示します。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.loadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.getWorksheets().get(index) メソッドを使用して、ソースとコピー先のワークシートを取得します。
  • Worksheet.getCellRange() メソッドを使用して、ソースセル範囲とコピー先セル範囲を取得します。
  • CellRange.copy(CellRange destRange, EnumSet<CopyRangeOptions> copyOptions) メソッドを使用して、ソースワークシートのセル範囲をコピー先ワークシートのセル範囲にコピーします。
  • ソースセル範囲の行高さと列幅をコピー先セル範囲にコピーします。
  • Workbook.saveToFile() メソッドを使用して、ワークブックをファイルに保存します。
  • Java
import com.spire.xls.*;

import java.util.EnumSet;

public class CopyCells {
    public static void main(String[] args) {
        // Workbookオブジェクトを作成
        Workbook workbook = new Workbook();
        // Excelファイルをロード
        workbook.loadFromFile("Sample.xlsx");

        // ソースワークシートを取得
        Worksheet sheet1 = workbook.getWorksheets().get(0);

        // 宛先ワークシートを取得
        Worksheet sheet2 = workbook.getWorksheets().get(1);

        // ソースセル範囲を取得
        CellRange range1 = sheet1.getCellRange("A1:D5");
        // 宛先セル範囲を取得
        CellRange range2 = sheet2.getCellRange("A1:D5");

        // ソースワークシートのセル範囲を宛先ワークシートのセル範囲にコピー
        range1.copy(range2, EnumSet.of(CopyRangeOptions.All));

        // ソースセル範囲の行の高さと列の幅を宛先セル範囲にコピー
        for (int i = 0; i < range1.getRows().length; i++) {
            CellRange row = range1.getRows()[i];
            for (int j = 0; j < row.getColumns().length; j++) {
                CellRange column = row.getColumns()[j];
                range2.getRows()[i].getColumns()[j].setColumnWidth(column.getColumnWidth());
                range2.getRows()[i].setRowHeight(row.getRowHeight());
            }
        }

        // ワークブックをファイルに保存
        workbook.saveToFile("output/Excelのセル範囲をコピー.xlsx", ExcelVersion.Version2016);
        workbook.dispose();
    }
}

Javaによる書式付きエクセルのセル範囲のコピーの効果

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Excel のページ設定を適切に行うことは、ワークシートを見栄え良く、プロフェッショナルに仕上げる上で重要なステップです。レポートを印刷する場合でも、デジタル形式で共有する場合でも、余白や印刷の向き、用紙サイズ、スケーリングなどのオプションをカスタマイズすることで、データを明確かつ効果的に提示できます。この記事では、Spire.XLS for Java を使用して、Java で Excel ページ設定をプログラム的に実行する方法について説明します。

Spire.XLS for Java をインストールします

まず、Spire. XLS for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url> https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls</artifactId>
        <version>14.12.0</version>
    </dependency>
</dependencies>

Java で Excel ワークシートの余白を設定する

Spire.XLS for Java の PageSetup クラスを使用すると、Excelワークシートのページ設定オプションをカスタマイズできます。setTopMargin()setBottomMargin()setLeftMargin()setRightMargin()setHeaderMarginInch()setFooterMarginInch() メソッドを利用して、上、下、左、右、ヘッダー、フッターの余白を調整できます。手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.loadFromFile() メソッドで Excel ファイルを読み込みます。
  • Workbook.getWorksheets().get(index) メソッドを使用して特定のワークシートを取得します。
  • Worksheet.getPageSetup() メソッドでワークシートの PageSetup オブジェクトにアクセスします。
  • PageSetup.setTopMargin()PageSetup.setBottomMargin()PageSetup.setLeftMargin()PageSetup.setRightMargin()PageSetup.setHeaderMarginInch()PageSetup.setFooterMarginInch() を使用して余白を設定します。
  • Workbook.saveToFile() メソッドを使用して変更後のブックを新しいファイルに保存します。
  • Java
import com.spire.xls.ExcelVersion;
import com.spire.xls.PageSetup;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class PageMargins {
    public static void main(String[] args) {
        // Workbookオブジェクトを作成
        Workbook workbook = new Workbook();
        // Excelファイルを読み込む
        workbook.loadFromFile("Sample.xlsx");

        // 最初のワークシートを取得
        Worksheet sheet = workbook.getWorksheets().get(0);

        // ワークシートのPageSetupオブジェクトを取得
        PageSetup pageSetup = sheet.getPageSetup();

        // ワークシートの上下左右の余白を設定
        // 単位はインチ (1インチ = 2.54 cm)
        pageSetup.setTopMargin(1);
        pageSetup.setBottomMargin(1);
        pageSetup.setLeftMargin(1);
        pageSetup.setRightMargin(1);
        pageSetup.setHeaderMarginInch(1);
        pageSetup.setFooterMarginInch(1);

        // 修正したワークブックを新しいファイルとして保存
        workbook.saveToFile("output/Excelのページ余白を設定.xlsx", ExcelVersion.Version2016);
        workbook.dispose();
    }
}

Java で Excel ワークシートの余白を設定する

Java で Excel ワークシートの印刷の向きを設定する

PageSetup.setOrientation() メソッドを使用すると、印刷時のページの向きを指定できます。「縦方向(Portrait)」と「横方向(Landscape)」の2種類のオプションがあります。手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.loadFromFile() メソッドで Excel ファイルを読み込みます。
  • Workbook.getWorksheets().get(index) メソッドを使用して特定のワークシートを取得します。
  • Worksheet.getPageSetup() メソッドで PageSetup オブジェクトにアクセスします。
  • PageSetup.setOrientation() メソッドを使用して印刷の向きを設定します。
  • Workbook.saveToFile() メソッドを使用して変更後のブックを新しいファイルに保存します。
  • Java
import com.spire.xls.*;

public class PageOrientation {
    public static void main(String[] args) {
        // Workbookオブジェクトを作成
        Workbook workbook = new Workbook();
        // Excelファイルを読み込む
        workbook.loadFromFile("Sample.xlsx");

        // 最初のワークシートを取得
        Worksheet sheet = workbook.getWorksheets().get(0);

        // ワークシートのPageSetupオブジェクトを取得
        PageSetup pageSetup = sheet.getPageSetup();

        // 印刷の向きを横方向に設定
        pageSetup.setOrientation(PageOrientationType.Landscape);

        // 修正したワークブックを新しいファイルとして保存
        workbook.saveToFile("output/Excelのページの向きを設定.xlsx", ExcelVersion.Version2016);
        workbook.dispose();
    }
}

Java で Excel ワークシートの印刷の向きを設定する

Java で Excel ワークシートの用紙サイズを設定する

PageSetup.setPaperSize() メソッドを使用すると、印刷時の用紙サイズを選択できます。選択可能なオプションには、A3、A4、A5、B4、B5、レター(Letter)、リーガル(Legal)、タブロイド(Tabloid)などがあります。手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.loadFromFile() メソッドで Excel ファイルを読み込みます。
  • Workbook.getWorksheets().get(index) メソッドを使用して特定のワークシートを取得します。
  • Worksheet.getPageSetup() メソッドで PageSetup オブジェクトにアクセスします。
  • PageSetup.setPaperSize() メソッドを使用して用紙サイズを設定します。
  • Workbook.saveToFile() メソッドを使用して変更後のブックを新しいファイルに保存します。
  • Java
import com.spire.xls.*;

public class PaperSize {
    public static void main(String[] args) {
        // Workbookオブジェクトを作成
        Workbook workbook = new Workbook();
        // Excelファイルを読み込む
        workbook.loadFromFile("Sample.xlsx");

        // 最初のワークシートを取得
        Worksheet sheet = workbook.getWorksheets().get(0);

        // ワークシートのPageSetupオブジェクトを取得
        PageSetup pageSetup = sheet.getPageSetup();

        // 用紙サイズをA4に設定
        pageSetup.setPaperSize(PaperSizeType.PaperA4);

        // 修正したワークブックを新しいファイルとして保存
        workbook.saveToFile("output/Excelの用紙サイズを設定.xlsx", ExcelVersion.Version2016);
        workbook.dispose();
    }
}

Java で Excel ワークシートの用紙サイズを設定する

Java で Excel ワークシートの印刷範囲を設定する

PageSetup.setPrintArea() メソッドを使用すると、印刷する特定の範囲を定義できます。手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.loadFromFile() メソッドでExcelファイルを読み込みます。
  • Workbook.getWorksheets().get(index) メソッドを使用して特定のワークシートを取得します。
  • Worksheet.getPageSetup() メソッドで PageSetup オブジェクトにアクセスします。
  • PageSetup.setPrintArea() メソッドを使用して印刷範囲を設定します。
  • Workbook.saveToFile() メソッドを使用して変更後のブックを新しいファイルに保存します。
  • Java
import com.spire.xls.ExcelVersion;
import com.spire.xls.PageSetup;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class PrintArea {
    public static void main(String[] args) {
        // Workbookオブジェクトを作成
        Workbook workbook = new Workbook();
        // Excelファイルを読み込む
        workbook.loadFromFile("Sample.xlsx");

        // 最初のワークシートを取得
        Worksheet sheet = workbook.getWorksheets().get(0);

        // ワークシートのPageSetupオブジェクトを取得
        PageSetup pageSetup = sheet.getPageSetup();

        // ワークシートの印刷範囲を "A1:E5" に設定
        pageSetup.setPrintArea("A1:E5");

        // 修正したワークブックを新しいファイルとして保存
        workbook.saveToFile("output/Excelの印刷範囲を設定.xlsx", ExcelVersion.Version2016);
        workbook.dispose();
    }
}

Java で Excel ワークシートの印刷範囲を設定する

Java で Excel ワークシートの拡大縮小印刷を設定する

ワークシートの内容を元のサイズの特定の割合に拡大または縮小するには、PageSetup.setZoom() メソッドを使用します。手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.loadFromFile() メソッドで Excel ファイルを読み込みます。
  • Workbook.getWorksheets().get(index) メソッドを使用して特定のワークシートを取得します。
  • Worksheet.getPageSetup() メソッドで PageSetup オブジェクトにアクセスします。
  • PageSetup.setZoom() メソッドを使用してスケーリング係数を設定します。
  • Workbook.saveToFile() メソッドを使用して変更後のブックを新しいファイルに保存します。
  • Java
import com.spire.xls.ExcelVersion;
import com.spire.xls.PageSetup;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class ScalingFactor {
    public static void main(String[] args) {
        // Workbookオブジェクトを作成
        Workbook workbook = new Workbook();
        // Excelファイルを読み込む
        workbook.loadFromFile("Sample.xlsx");

        // 最初のワークシートを取得
        Worksheet sheet = workbook.getWorksheets().get(0);

        // ワークシートのPageSetupオブジェクトを取得
        PageSetup pageSetup = sheet.getPageSetup();

        // ワークシートの拡大縮小率を90%に設定
        pageSetup.setZoom(90);

        // 修正したワークブックを新しいファイルとして保存
        workbook.saveToFile("output/Excelの拡大縮小を設定.xlsx", ExcelVersion.Version2016);
        workbook.dispose();
    }
}

Java で Excel ワークシートの拡大縮小印刷を設定する

Java で Excel ワークシートをページに合わせて調整する

Spire.XLS for Java では、PageSetup.setFitToPagesTall()PageSetup.setFitToPagesWide() メソッドを使用して、ワークシートの内容を指定したページ数に収めることができます。手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.loadFromFile() メソッドで Excel ファイルを読み込みます。
  • Workbook.getWorksheets().get(index) メソッドを使用して特定のワークシートを取得します。
  • Worksheet.getPageSetup() メソッドで PageSetup オブジェクトにアクセスします。
  • PageSetup.setFitToPagesTall() および PageSetup.setFitToPagesWide() メソッドを使用してワークシートの内容を1ページに収めます。
  • Workbook.saveToFile() メソッドを使用して変更後のブックを新しいファイルに保存します。
  • Java
import com.spire.xls.ExcelVersion;
import com.spire.xls.PageSetup;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class FitToPages {
    public static void main(String[] args) {
        // Workbookオブジェクトを作成
        Workbook workbook = new Workbook();
        // Excelファイルを読み込む
        workbook.loadFromFile("Sample.xlsx");

        // 最初のワークシートを取得
        Worksheet sheet = workbook.getWorksheets().get(0);

        // ワークシートのPageSetupオブジェクトを取得
        PageSetup pageSetup = sheet.getPageSetup();

        // ワークシートの内容を縦方向で1ページに収めるよう設定
        pageSetup.setFitToPagesTall(1);
        // ワークシートの内容を横方向で1ページに収めるよう設定
        pageSetup.setFitToPagesWide(1);

        // 修正したワークブックを新しいファイルとして保存
        workbook.saveToFile("output/ページに合わせるオプションを設定.xlsx", ExcelVersion.Version2016);
        workbook.dispose();
    }
}

Java で Excel ワークシートをページに合わせて調整する

Java で Excel ワークシートのヘッダーとフッターを設定する

Excelのヘッダーとフッターの設定方法については、こちらの記事をご参照ください: Java:Excel ワークシートにヘッダーとフッターを挿入する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Excel ファイルでは、ヘッダーとフッターを使用して、ワークシートページの上部と下部にリッチなコンテンツを配置できます。このコンテンツには、ロゴ、会社名、ページ番号、日付、時刻などを含めることができます。この記事では、Spire.XLS for .NET を使用して、Excel のヘッダーやフッターにテキスト、画像、およびフィールド(ページ番号など)を追加する方法を紹介します。

Spire.XLS for .NET では、PageSetup クラスを使用して、Excel のページ設定(ヘッダーやフッターを含む)を操作できます。具体的には、ヘッダーやフッターの左、中央、右のセクションを表す LeftHeader プロパティ、CenterHeader プロパティ、RightHeader プロパティ、LeftFooter プロパティなどが用意されています。ヘッダーやフッターにフィールドを追加したり、テキストに書式を適用したりするには、以下の表に示すスクリプトを使用する必要があります。

スクリプト 説明
&P 現在のページ番号です
&N 総ページ数です
&D 現在の日付です
&T 現在の時刻です
&G 画像です
&A ワークシートの名です
&F ファイルの名です
&B テキストを太字にする
&I テキストを斜体にする
&U テキストに下線を引く
&"フォント名" フォントの名を表す。例えば、&"Arial"
& + 整数 フォントサイズを表す。例えば、&12
&K + 16進カラーコード フォントの色を表す。例えば、&FF0000

Spire.XLS for .NET をインストールします

まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.XLS

Excel のヘッダーに画像と書式付きテキストを追加する

Spire.XLS for .NET を使用して、既存の Excel ドキュメントのヘッダーに画像と書式設定されたテキストを追加する手順は以下の通りです。

  • Workbook オブジェクトを作成し、Workbook.LoadFromFile() メソッドを使用してサンプル Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使用して、特定のワークシートを取得します。
  • 画像を読み込み、スケーリングし、PageSetup.LeftHeaderImage プロパティを通じて左ヘッダーの画像ソースとして設定します。
  • PageSetup.LeftHeader プロパティに &G を設定して、左ヘッダーセクションに画像を表示させます。
  • Workbook.SaveToFile() メソッドを使用して、ワークブックを別の Excel ファイルとして保存します。
  • C#
using Spire.Xls;
using System.Drawing;

namespace AddImageAndTextToHeader
{
    class Program
    {
        static void Main(string[] args)
        {
            // Workbook オブジェクトを作成
            Workbook wb = new Workbook();

            // 既存の Excel ファイルを読み込む
            wb.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.xlsx");

            // 最初のワークシートを取得
            Worksheet sheet = wb.Worksheets[0];

            // 画像を読み込む
            Image image = Image.FromFile("logo.png");

            // 画像をスケーリング
            Bitmap bitmap = new Bitmap(image, new Size(image.Width / 2, image.Height / 2));

            // ヘッダーの左セクションに画像を追加
            sheet.PageSetup.LeftHeaderImage = bitmap;
            sheet.PageSetup.LeftHeader = "&G";

            // ヘッダーの右セクションにフォーマットされたテキストを追加
            sheet.PageSetup.RightHeader = &"Calibri"&B&10&K4253E2X Information Technology, Inc.  
 www.xxx.com";

            // ファイルを保存
            wb.SaveToFile("Header.xlsx", ExcelVersion.Version2016);
            wb.Dispose();
        }
    }
}

C# で Excel にヘッダーを挿入した結果

Excel のフッターに現在の日付とページ番号を追加する

Spire.XLS for .NET を使用して、既存の Excel ドキュメントのフッターに現在の日付とページ番号を追加する手順は以下の通りです。

  • Workbook オブジェクトを作成し、Workbook.LoadFromFile() メソッドを使用してサンプル Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使用して、特定のワークシートを取得します。
  • PageSetup.LeftFooter プロパティに &"Calibri"&B&10&K4253E2Page &P を設定して、書式付きのページ番号を左フッターセクションに追加します。ページ番号の書式は好みに応じてカスタマイズできます。
  • PageSetup.RightFooter プロパティに &"Calibri"&B&10&K4253E2&D を設定して、現在の日付を右フッターセクションに追加します。同様に、日付の文字列の外観を変更できます。
  • Workbook.SaveToFile() メソッドを使用して、ワークブックを別の Excel ファイルとして保存します。
  • C#
using Spire.Xls;

namespace AddDateAndPageNumberToFooter
{
    class Program
    {
        static void Main(string[] args)
        {
            // Workbook オブジェクトを作成
            Workbook wb = new Workbook();

            // 既存の Excel ファイルを読み込む
            wb.LoadFromFile("sample.xlsx");

            // 最初のワークシートを取得
            Worksheet sheet = wb.Worksheets[0];

            // フッターの左セクションにページ番号を追加
            sheet.PageSetup.LeftFooter = "&\"Calibri\"&B&10&K4253E2ページ &P";

            // フッターの右セクションに現在の日付を追加
            sheet.PageSetup.RightFooter = "&\"Calibri\"&B&10&K4253E2&D";

            // ファイルを保存
            wb.SaveToFile("Footer.xlsx", ExcelVersion.Version2016);
            wb.Dispose();
        }
    }
}

 Spire.XLS で Excel にフッターを追加した結果

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

HTML ファイルには、テーブル内に貴重なデータセットが埋め込まれていることがよくあります。しかし、HTML 形式で直接データを分析するのは手間がかかり、効率的ではありません。HTML テーブルを Excel 形式に変換することで、Excel の強力なデータ操作および分析ツールを活用し、データの並べ替えやフィルタリング、視覚化を簡単に行えるようになります。レポート作成のためのデータ分析、計算の実行、またはデータをより使いやすい形式で整理するためにも、HTML から Excel への変換は非常に便利です。本記事では、Java で Spire.XLS for Java を用いた HTML ファイルの Excel 形式への変換方法をご紹介します。

Spire.XLS for Java をインストールします

まず、Spire. XLS for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url> https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls</artifactId>
        <version>14.12.0</version>
    </dependency>
</dependencies>

Java で HTML を Excel に変換する

Spire.XLS for Java は、HTMLファイルを読み込むための Workbook.loadFromHtml() メソッドを提供しています。このメソッドで HTML ファイルをロードした後、Workbook.saveToFile() メソッドを使用して Excel 形式に変換できます。手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.loadFromHtml() メソッドを使用して HTML ファイルを読み込みます。
  • Workbook.saveToFile() メソッドを使用して HTML ファイルを Excel 形式で保存します。
  • Java
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;

public class HTMLToExcel {
    public static void main(String[] args) {
        // 入力する HTML ファイルのパスを指定
        String filePath = "Sample.html";

        // ワークブッククラスのオブジェクトを作成
        Workbook workbook = new Workbook();
        // HTML ファイルを読み込む
        workbook.loadFromHtml(filePath);

        // HTML ファイルを Excel XLSX 形式で保存
        String result = "output/HTMLをExcelに変換.xlsx";
        workbook.saveToFile(result, ExcelVersion.Version2016);

        // リソースを解放
        workbook.dispose();
    }
}

Java で HTML を Excel に変換した結果

Java で HTML 文字列を Excel に挿入する

HTML ファイルを Excel に変換するだけでなく、Spire.XLS for Java を使用すると、HTML 文字列を直接 Excel のセルに挿入することも可能です。この機能は、CellRange.setHtmlString() メソッドを利用して実現します。手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.getWorksheets().get(index) メソッドを使用して、特定のインデックス(0 ベース)のワークシートを取得します。
  • Worksheet.getCellRange() メソッドを使用して、HTML 文字列を挿入したいセルを取得します。
  • CellRange.setHtmlString() メソッドを使用して、セルに HTML 文字列を挿入します。
  • Workbook.saveToFile() メソッドを使用して、生成されたワークブックを新しいファイルに保存します。
  • Java
import com.spire.xls.CellRange;
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class InsertHTMLStringToExcel {
    public static void main(String[] args) {
        // ワークブッククラスのオブジェクトを作成
        Workbook workbook = new Workbook();
        // 最初のシートを取得
        Worksheet sheet = workbook.getWorksheets().get(0);

        // HTML文字列を指定
        String htmlCode = "

これは 段落 で、赤色のテキストがあります。

"; // HTML文字列を追加するセルを取得 CellRange range = sheet.getCellRange("A1"); // セルにHTML文字列を追加 range.setHtmlString(htmlCode); // コンテンツに基づいて最初の列の幅を自動調整 sheet.autoFitColumn(1); // 結果のワークブックを新しいファイルに保存 String result = "output/HTML文字列をExcelに挿入.xlsx"; workbook.saveToFile(result, ExcelVersion.Version2013); // リソースを解放 workbook.dispose(); } }

Spire.XLS で HTML 文字列を Excel に挿入した結果

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Excel ワークシートにおけるテーブルは、ヘッダー、オプションの合計行、フィルターや並べ替え、データの挿入・削除、計算列などの機能が組み込まれた、特別に指定された領域です。このテーブル機能により、データの操作や分析が非常に簡単になります。Java アプリケーション内で Excel データ操作を自動化または統合したい開発者にとって、これらのワークシート内でテーブルを作成、修正、または削除するスキルは非常に重要です。本記事では、Java で Spire.XLS for Java を使用して Excel ファイル内のデータを効果的に管理するための、テーブルの作成、修正、および削除について解説します。

Spire.XLS for Java をインストールします

まず、Spire.XLS for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls</artifactId>
        <version>14.12.0</version>
    </dependency>
</dependencies>

Java で Excel ワークシートにテーブルを作成する

Java を使用して Excel ワークシート内にテーブルを作成するには、Worksheet.getListObjects().create(String tableName, IXLSRange cellRange) メソッドを使用できます。以下の手順に従って、テーブルを作成しカスタマイズします:

  • Workbook クラスのインスタンスを作成します。
  • Workbook.loadFromFile() メソッドを使用して、既存の Excel ファイルを読み込みます。
  • Workbook.getWorksheets().get() メソッドを使用して、目的のワークシートを取得します。
  • Worksheet.getRange().get() メソッドを使用して、テーブルのセル範囲を取得します。
  • Worksheet.getListObjects().create(String tableName, IXLSRange cellRange) メソッドを使用して、名前と範囲を指定してテーブルを作成します。
  • 必要に応じてテーブルをフォーマットします。
  • Workbook.saveToFile() メソッドを使用して変更を保存します。
  • Java
import com.spire.xls.CellRange;
import com.spire.xls.TableBuiltInStyles;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
import com.spire.xls.core.IListObject;

public class CreateTableExcel {
    public static void main(String[] args) {
        // Workbookのインスタンスを作成
        Workbook workbook = new Workbook();
        // Excelファイルをロード
        workbook.loadFromFile("Sample.xlsx");

        // 最初のワークシートを取得
        Worksheet sheet = workbook.getWorksheets().get(0);

        // テーブルのセル範囲を取得
        CellRange range = sheet.getCellRange("A1:F7");

        // テーブルを作成
        IListObject table1 = sheet.getListObjects().create("Table1", range);

        // テーブルに組み込みスタイルを適用
        table1.setBuiltInTableStyle(TableBuiltInStyles.TableStyleLight16);

        // ワークブックを保存
        workbook.saveToFile("output/Excelで表を作成.xlsx");
        workbook.dispose();
    }
}

Spire.XLSでExcelテーブルを作成した結果

Java で Excel ワークシート内のテーブルを修正する

Spire.XLS for Java は、IListObject クラスのメソッドを通じて、テーブル名、セル範囲、スタイル、ヘッダーの表示など、ワークシートテーブルのプロパティを修正する機能を提供します。以下の手順で Excel ワークシート内のテーブルを修正できます:

  • Workbook クラスのインスタンスを作成します。
  • Workbook.loadFromFile() メソッドを使用して、既存の Excel ファイルを開きます。
  • Workbook.getWorksheets().get() メソッドを使用して、テーブルを含むワークシートを取得します。
  • Worksheet.getListObjects().get() メソッドを使用して、テーブルにアクセスします。
  • IListObject クラス内のメソッドを使用して、テーブルのプロパティ(名前、スタイル、ヘッダーなど)を更新します。
  • Workbook.saveToFile() メソッドを使用して更新されたワークブックを保存します。
  • Java
import com.spire.xls.TableBuiltInStyles;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
import com.spire.xls.core.IListObject;

public class ModifyTableExcel {
    public static void main(String[] args) {
        // Workbookのインスタンスを作成
        Workbook workbook = new Workbook();

        // Excelファイルをロード
        workbook.loadFromFile("output/Excelで表を作成.xlsx");

        // 最初のワークシートを取得
        Worksheet sheet = workbook.getWorksheets().get(0);

        // テーブルを取得
        IListObject table = sheet.getListObjects().get(0);

        // テーブルを修正
        table.setName("NewTable"); // 名前を変更
        table.setLocation(sheet.getRange().get("A1:C7")); // 場所を変更
        table.setBuiltInTableStyle(TableBuiltInStyles.TableStyleDark5); // スタイルを変更
        table.setDisplayHeaderRow(false); // ヘッダー行を非表示にする

        // ワークブックを保存
        workbook.saveToFile("output/Excelで表を修正.xlsx");
        workbook.dispose();
    }
}

JavaでExcelテーブルを修正した結果

Java で Excel ワークシートからテーブルを削除する

Worksheet.getListObjects().removeAt(int index) メソッドを使用して、Excel ワークシートからテーブルを削除できます。この操作により、テーブル領域は通常のセル範囲に戻り、関連するフォーマットも削除されます。以下の手順に従って、テーブルを削除します:

  • Workbook クラスのインスタンスを作成します。
  • Workbook.loadFromFile() メソッドを使用して、既存の Excel ファイルを開きます。
  • Workbook.getWorksheets().get() メソッドを使用して、テーブルを含むワークシートを取得します。
  • Worksheet.getListObjects().removeAt() メソッドを使用して、インデックスを指定してテーブルを削除します。
  • Workbook.saveToFile() メソッドを使用して変更を保存します。
  • Java
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class RemoveTableExcel {
    public static void main(String[] args) {
        // Workbookのインスタンスを作成
        Workbook workbook = new Workbook();

        // Excelファイルをロード
        workbook.loadFromFile("output/Excelで表を作成.xlsx");

        // 最初のワークシートを取得
        Worksheet sheet = workbook.getWorksheets().get(0);

        // テーブルを削除
        sheet.getListObjects().removeAt(0);

        // ワークブックを保存
        workbook.saveToFile("output/Excelで表を削除.xlsx");
        workbook.dispose();
    }
}

JavaでExcelテーブルを削除した結果

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。