チュートリアル

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

Koohji

Koohji

Spire.PDF for Java 8.11.0 のリリースを発表できることをうれしく思います。 このバージョンでは、印刷ページ範囲の設定がサポートされました。PDF から Word への変換機能も強化されました。また、追加されたコメントの場所が正しくないなどの既知の問題も修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature - 印刷ページ範囲の設定がサポートされました。
pdf.getPrintSettings().selectPageRange(int fromPage, int toPage);
PrintSettings setting = pdf.getPrintSettings();
doc.print(printSettings); 
Bug SPIREPDF-5293 追加されたコメントの場所が正しくない問題が修正されました。
Bug SPIREPDF-5377 PDF を Word に変換した後に内容が失われていた問題が修正されました。
Bug SPIREPDF-5493 デジタル署名証明書のメールボックスの取得に失敗した問題が修正されました。
Bug SPIREPDF-5504 PDF を TIF Fに変換した後にテキストが失われていた問題が修正されました。
ここで Spire.PDF for Java 8.11.0 をダウンロードする

PowerPoint ドキュメントと比較して、画像ファイルは、特定のソフトウェアを必要とせずに、ほぼすべてのデバイスで開くことができるため、表示しやすくなっています。PowerPoint ドキュメントをさまざまなデバイスで利用できるようにしたい場合、画像に変換することができます。今回は、Spire.Presentation for Java を使用して、Java で PowerPoint ドキュメントをさまざまな画像形式に変換する方法を説明します。

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

まず、Spire.Presentation 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.presentation</artifactId>
        <version>7.10.1</version>
    </dependency>
</dependencies>

PowerPoint ドキュメントを JPG または PNG 画像に変換する

PowerPointドキュメントを JPG または PNG 画像に変換する手順は次のとおりです。

  • Presentation クラスのインスタンスを作成します。
  • Presentation.loadFromFile() メソッドを使用して PowerPoint ドキュメントを読み込みます。
  • PowerPoint ドキュメント内のすべてのスライドを循環させます。
  • ISlide.saveAsImage() メソッドを使用して、各スライドを BufferedImage クラスのオブジェクトとして保存します。
  • ImageIO.write() メソッドを使用して、BufferedImage クラスのオブジェクトを PNG ファイルまたは JPG ファイルに保存します。
  • Java
import com.spire.presentation.ISlide;
import com.spire.presentation.Presentation;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;

public class convertPowerPointToPngOrJpg {
    public static void main(String []args) throws Exception {

        //Presentationクラスのインスタンスを作成する
        Presentation presentation = new Presentation();

        //PowerPointドキュメントを読み込む
        presentation.loadFromFile("C:/Sample.pptx");

        //PowerPointドキュメント内の全スライドを循環させる
        for(int i = 0; i < presentation.getSlides().getCount(); i++)
        {
            ISlide slide = presentation.getSlides().get(i);

            //各スライドをPNG画像で保存する
            BufferedImage image = slide.saveAsImage();
            String fileName = String.format("画像-%1$s.png", i);
            ImageIO.write(image, "PNG",new File(fileName));
        }
    }
}

Java:PowerPoint を画像に変換する方法(PNG、JPG、TIFF、SVG)

PowerPoint ドキュメントを TIFF 画像に変換する

PowerPoint ドキュメントを TIFF 画像に変換する手順は次のとおりです。

  • Presentation クラスのインスタンスを作成します。
  • Presentation.loadFromFile() メソッドを使用して PowerPoint ドキュメントを読み込みます。
  • Presentation.saveToFile(String, FileFormat) メソッドを使用して、PowerPoint ドキュメントを TIFF 画像に変換します。
  • Java
import com.spire.presentation.FileFormat;
import com.spire.presentation.Presentation;

public class convertPowerPointToTiff {
    public static void main(String []args) throws Exception {

        //Presentationクラスのインスタンスを作成する
        Presentation presentation = new Presentation();

        //PowerPointドキュメントを読み込む
        presentation.loadFromFile("C:/Sample.pptx");

        //PowerPointドキュメントをTIFF画像に変換する
        presentation.saveToFile("TIFF.tiff", FileFormat.TIFF);
    }
}

Java:PowerPoint を画像に変換する方法(PNG、JPG、TIFF、SVG)

PowerPointド キュメントを SVG 画像に変換する

PowerPoint ドキュメントを SVG 画像に変換する手順を説明します。

  • Presentation クラスのインスタンスを作成します。
  • Presentation.loadFromFile() メソッドを使用して PowerPoint ドキュメントを読み込みます。
  • Presentation.saveToSVG() メソッドを使用して、PowerPoint ドキュメントを SVG に変換し、その結果をバイト配列の ArrayList に保存します。
  • ArrayList 内のバイト配列をループ処理します。
  • ArrayList.get(int) メソッドを使用して、現在のバイト配列を取得します。
  • FileOutputStream クラスのインスタンスを作成し、FileOutputStream.write() メソッドを使用してバイト配列を SVG ファイルに保存します。
  • Java
import com.spire.presentation.Presentation;

import java.io.FileOutputStream;
import java.util.ArrayList;

public class convertPowerPointToSVG {
    public static void main(String []args) throws Exception {

        //Presentationクラスのインスタンスを作成する
        Presentation presentation = new Presentation();

        //PowerPointドキュメントを読み込む
        presentation.loadFromFile("C:/Sample.pptx");

        //PowerPointドキュメントをSVGに変換し、その結果をバイト配列のArrayListに保存する
        ArrayList svgBytes =(ArrayList) presentation.saveToSVG();
        int len = svgBytes.size();

        //ArrayListのバイト配列をループする
        for (int i = 0; i < len; i++)
        {
            //現在のバイト配列を取得する
            byte[] bytes = (byte[]) svgBytes.get(i);

            //出力ファイル名を指定する
            String fileName= String.format("ToSVG-%d.svg", i);

            //FileOutputStreamクラスのインスタンスを作成する
            FileOutputStream stream = new FileOutputStream(fileName);

            //バイト配列をSVGファイルに保存する
            stream.write(bytes);
        }
    }
}

Java:PowerPoint を画像に変換する方法(PNG、JPG、TIFF、SVG)

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

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

会社の毎月の支出に関する Word レポートを作成するときは、Excel の財務データをそのレポートにコピーできます。これにより、別の Excel ドキュメントを開くことなく、レポート内の関連データを直接表示できます。この記事では、Spire.Office for .NET を使用して、C# および VB.NET でプログラムによってフォーマットされた Excel データを Word テーブルに変換する方法を紹介します。

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

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

PM> Install-Package Spire.Office

フォーマットされた Excel データを Word テーブルに変換する

Spire.Office for .NET を使用してフォーマットされた Excel データを Word テーブルにエクスポートする手順を次に示します。

  • Workbook オブジェクトを作成し、Workbook.LoadFromFile() メソッドを使用してサンプルドキュメントをロードします。
  • Workbook.Worksheets[index] プロパティを通じて、特定のワークシートを取得します。
  • Document オブジェクトを作成し、セクションを追加します。
  • Section.AddTable() メソッドを使用してテーブルを追加します。
  • ワークシート内のマージセルを検出し、カスタム・メソッド MergeCells() を使用して Word tale 内の対応するセルをマージします。
  • CellRange.Value プロパティを使用して特定の Excel セルの値を取得し、TableCell.AddParagraph().AppendText() メソッドを使用して Word テーブルのセルに追加します。
  • カスタムメソッド CopyStyle() を使用して、Excel から Word テーブルにフォントスタイルとセルスタイルをコピーします。
  • Document.SaveToFile() メソッドを使用して、Word ファイルに保存します。
  • C#
  • VB.NET
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using Spire.Xls;

namespace ConvertExcelToWord
{
    internal class Program
    {
        static void Main(string[] args)
        {

            //Excelファイルをダウンロードする
            Workbook workbook = new Workbook();
            workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.xlsx");

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

            //Wordドキュメントを作成する
            Document doc = new Document();
            Section section = doc.AddSection();
            section.PageSetup.Orientation = PageOrientation.Landscape;

            //テーブルを追加する
            Table table = section.AddTable(true);
            table.ResetCells(sheet.LastRow, sheet.LastColumn);

            //セルをマージする
            MergeCells(sheet, table);

            for (int r = 1; r <= sheet.LastRow; r++)
            {
                //行の高さを設定する
                table.Rows[r - 1].Height = (float)sheet.Rows[r - 1].RowHeight;

                for (int c = 1; c <= sheet.LastColumn; c++)
                {
                    CellRange xCell = sheet.Range[r, c];
                    TableCell wCell = table.Rows[r - 1].Cells[c - 1];

                    //ExcelからWordテーブルにデータをエクスポートする
                    TextRange textRange = wCell.AddParagraph().AppendText(xCell.NumberText);

                    //ExcelからフォントとセルスタイルをWordにコピーする
                    CopyStyle(textRange, xCell, wCell);
                }
            }

            //Wordファイルに保存する
            doc.SaveToFile("ExportToWord.docx", Spire.Doc.FileFormat.Docx);
        }
        //次の条件を満たす場合は、セルをマージする
        private static void MergeCells(Worksheet sheet, Table table)
        {
            if (sheet.HasMergedCells)
            {
                //Excelからマージされたセル範囲を取得する
                CellRange[] ranges = sheet.MergedCells;

                //Wordテーブル内の対応するセルをマージする
                for (int i = 0; i < ranges.Length; i++)
                {
                    int startRow = ranges[i].Row;
                    int startColumn = ranges[i].Column;
                    int rowCount = ranges[i].RowCount;
                    int columnCount = ranges[i].ColumnCount;
                    if (rowCount > 1 && columnCount > 1)
                    {
                        for (int j = startRow; j <= startRow + rowCount; j++)
                        {
                            table.ApplyHorizontalMerge(j - 1, startColumn - 1, startColumn - 1 + columnCount - 1);
                        }
                        table.ApplyVerticalMerge(startColumn - 1, startRow - 1, startRow - 1 + rowCount -1);
                    }
                    if (rowCount > 1 && columnCount == 1)
                    {
                        table.ApplyVerticalMerge(startColumn - 1, startRow - 1, startRow - 1 + rowCount -1);
                    }
                    if (columnCount > 1 && rowCount == 1)
                    {
                        table.ApplyHorizontalMerge(startRow - 1, startColumn - 1, startColumn - 1 + columnCount - 1);
                    }
                }
            }
        }

        //ExcelのセルスタイルをWordテーブルにコピーする
        private static void CopyStyle(TextRange wTextRange, CellRange xCell, TableCell wCell)
        {
            //フォントスタイルをコピーする
            wTextRange.CharacterFormat.TextColor = xCell.Style.Font.Color;
            wTextRange.CharacterFormat.FontSize = (float)xCell.Style.Font.Size;
            wTextRange.CharacterFormat.FontName = xCell.Style.Font.FontName;
            wTextRange.CharacterFormat.Bold = xCell.Style.Font.IsBold;
            wTextRange.CharacterFormat.Italic = xCell.Style.Font.IsItalic;
            //背景色をコピーする
            wCell.CellFormat.BackColor = xCell.Style.Color;
            //水平方向の配置をコピーする
            switch (xCell.HorizontalAlignment)
            {
                case HorizontalAlignType.Left:
                    wTextRange.OwnerParagraph.Format.HorizontalAlignment = HorizontalAlignment.Left;
                    break;
                case HorizontalAlignType.Center:
                    wTextRange.OwnerParagraph.Format.HorizontalAlignment = HorizontalAlignment.Center;
                    break;
                case HorizontalAlignType.Right:
                    wTextRange.OwnerParagraph.Format.HorizontalAlignment = HorizontalAlignment.Right;
                    break;
            }
            //垂直方向の配置をコピーする
            switch (xCell.VerticalAlignment)
            {
                case VerticalAlignType.Bottom:
                    wCell.CellFormat.VerticalAlignment = VerticalAlignment.Bottom;
                    break;
                case VerticalAlignType.Center:
                    wCell.CellFormat.VerticalAlignment = VerticalAlignment.Middle;
                    break;
                case VerticalAlignType.Top:
                    wCell.CellFormat.VerticalAlignment = VerticalAlignment.Top;
                    break;
            }
        }
    }
}
Imports Spire.Doc
Imports Spire.Doc.Documents
Imports Spire.Doc.Fields
Imports Spire.Xls
 
Namespace ConvertExcelToWord
    Friend Class Program
        static void Main(string() args)
        {
 
            'Excelファイルをダウンロードする
            Dim workbook As Workbook =  New Workbook() 
            workbook.LoadFromFile("C:\Users\Administrator\Desktop\sample.xlsx")
 
            '最初のシートを取得する
            Dim sheet As Worksheet =  workbook.Worksheets(0) 
 
            'Wordドキュメントを作成する
            Document doc  =  New Document()
            Dim section As Section =  doc.AddSection() 
            section.PageSetup.Orientation = PageOrientation.Landscape
 
            'テーブルを追加する
            Dim table As Table =  section.AddTable(True) 
            table.ResetCells(sheet.LastRow, sheet.LastColumn)
 
            'セルをマージする
            MergeCells(sheet, table)
 
            Dim r As Integer
            For  r = 1 To  sheet.LastRow Step  r + 1
                '行の高さを設定する
                table.Rows(r - 1).Height = CType(sheet.Rows(r - 1).RowHeight, single)
 
                Dim c As Integer
                For  c = 1 To  sheet.LastColumn Step  c + 1
                    Dim xCell As CellRange =  sheet.Range(r,c) 
                    Dim wCell As TableCell =  table.Rows(r - 1).Cells(c - 1) 
 
                    'ExcelからWordテーブルにデータをエクスポートする
                    Dim textRange As TextRange =  wCell.AddParagraph().AppendText(xCell.NumberText) 
 
                    'ExcelからフォントとセルスタイルをWordにコピーする
                    CopyStyle(textRange, xCell, wCell)
                Next
            Next
 
            'Wordファイルに保存する
            doc.SaveToFile("ExportToWord.docx", Spire.Doc.FileFormat.Docx)
        }
        '次の条件を満たす場合は、セルをマージする
        private static void MergeCells(Worksheet sheet, Table table)
        {
            if (sheet.HasMergedCells)
            {
                'Excelからマージされたセル範囲を取得する
                Dim ranges() As CellRange =  sheet.MergedCells 
 
                'Wordテーブル内の対応するセルをマージする
                Dim i As Integer
                For  i = 0 To  ranges.Length- 1  Step  i + 1
                    Dim startRow As Integer =  ranges(i).Row 
                    Dim startColumn As Integer =  ranges(i).Column 
                    Dim rowCount As Integer =  ranges(i).RowCount 
                    Dim columnCount As Integer =  ranges(i).ColumnCount 
                    if (rowCount > 1 And columnCount > 1)
                    {
                        Dim j As Integer
                        For  j = startRow To  startRow + rowCount Step  j + 1
                            table.ApplyHorizontalMerge(j - 1, startColumn - 1, startColumn - 1 + columnCount - 1)
                        Next
                        table.ApplyVerticalMerge(startColumn - 1, startRow - 1, startRow - 1 + rowCount -1)
                    }
                    if (rowCount > 1 And columnCount = 1)
                    {
                        table.ApplyVerticalMerge(startColumn - 1, startRow - 1, startRow - 1 + rowCount -1)
                    }
                    if (columnCount > 1 And rowCount = 1)
                    {
                        table.ApplyHorizontalMerge(startRow - 1, startColumn - 1, startColumn - 1 + columnCount - 1)
                    }
                Next
            }
        }
 
        ' ExcelセルスタイルをWordテーブルにコピーする
        private static void CopyStyle(TextRange wTextRange, CellRange xCell, TableCell wCell)
        {
            'フォントスタイルをコピーする
            wTextRange.CharacterFormat.TextColor = xCell.Style.Font.Color
            wTextRange.CharacterFormat.FontSize = CType(xCell.Style.Font.Size, single)
            wTextRange.CharacterFormat.FontName = xCell.Style.Font.FontName
            wTextRange.CharacterFormat.Bold = xCell.Style.Font.IsBold
            wTextRange.CharacterFormat.Italic = xCell.Style.Font.IsItalic
            '背景色をコピーする
            wCell.CellFormat.BackColor = xCell.Style.Color
            '水平方向の配置をコピーする
            Select Case xCell.HorizontalAlignment
                Case HorizontalAlignType.Left
                    wTextRange.OwnerParagraph.Format.HorizontalAlignment = HorizontalAlignment.Left
                    Exit For
                Case HorizontalAlignType.Center
                    wTextRange.OwnerParagraph.Format.HorizontalAlignment = HorizontalAlignment.Center
                    Exit For
                Case HorizontalAlignType.Right
                    wTextRange.OwnerParagraph.Format.HorizontalAlignment = HorizontalAlignment.Right
                    Exit For
            End Select
            '垂直方向の配置をコピーする
            Select Case xCell.VerticalAlignment
                Case VerticalAlignType.Bottom
                    wCell.CellFormat.VerticalAlignment = VerticalAlignment.Bottom
                    Exit For
                Case VerticalAlignType.Center
                    wCell.CellFormat.VerticalAlignment = VerticalAlignment.Middle
                    Exit For
                Case VerticalAlignType.Top
                    wCell.CellFormat.VerticalAlignment = VerticalAlignment.Top
                    Exit For
            End Select
        }
    End Class

C#/VB.NET:フォーマットされた Excel データを Word テーブルに変換する方法

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

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

Word でレポートを作成するときは、Excel からデータをコピーして Word に貼り付ける必要があることがよくあります。これにより、Excel ドキュメントを開くことなく、読者が Word でデータを直接参照できます。この記事では、Spire.Office for Java を使用してフォーマットされた Excel データを Word テーブルにエクスポートする方法を紹介します。

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

まず、Spire.Office 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.office</artifactId>
        <version>7.10.4</version>
    </dependency>
</dependencies>

フォーマットされた Excel データを Word テーブルにエクスポートする方法

Spire.Office for Java を使用してフォーマットされた Excel データを Word テーブルにエクスポートする手順を次に示します。

  • Workbook オブジェクトを作成し、Workbook.loadFromFile() メソッドを使用して Excel サンプルファイルをロードします。
  • Workbook.getWorksheets().get() メソッドを使用して特定のワークシートを取得します。
  • Document オブジェクトを作成し、セクションを追加します。
  • Section.addTable() メソッドを使用してテーブルを追加します。
  • ワークシート内の結合セルを検出し、カスタム・メソッド mergeCells() を使用して Word tale 内の対応するセルを結合します。
  • CellRange.getValue() メソッドを使用して特定の Excel セルの値を取得し、TableCell.addParagraph().appendText() メソッドを使用して Word テーブルのセルに追加します。
  • カスタムメソッド copyStyle() を使用して、Excel から Word テーブルにフォントスタイルとセルスタイルをコピーします。
  • Document.saveToFile() メソッドを使用して、Word ファイルに保存します。
  • Java
import com.spire.doc.*;
import com.spire.doc.FileFormat;
import com.spire.doc.documents.HorizontalAlignment;
import com.spire.doc.documents.PageOrientation;
import com.spire.doc.documents.VerticalAlignment;
import com.spire.doc.fields.TextRange;
import com.spire.xls.*;

public class ExportExcelToWord {

    public static void main(String[] args) {

        //Excelファイルをダウンロードする
        Workbook workbook = new Workbook();
        workbook.loadFromFile("C:/Users/Administrator/Desktop/sample.xlsx");

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

        //Wordドキュメントを作成する
        Document doc = new Document();
        Section section = doc.addSection();
        section.getPageSetup().setOrientation(PageOrientation.Landscape);

        //テーブルを追加する
        Table table = section.addTable(true);
        table.resetCells(sheet.getLastRow(), sheet.getLastColumn());

        //セルをマージする
        mergeCells(sheet, table);

        for (int r = 1; r <= sheet.getLastRow(); r++) {

            //行の高さを設定する
            table.getRows().get(r - 1).setHeight((float) sheet.getRowHeight(r));

            for (int c = 1; c <= sheet.getLastColumn(); c++) {
                CellRange xCell = sheet.getCellRange(r, c);
                TableCell wCell = table.get(r - 1, c - 1);

                //特定のExcelセルの値を取得してWordテーブルセルに追加する
                TextRange textRange = wCell.addParagraph().appendText(xCell.getValue());

                //ExcelからフォントとセルスタイルをWordにコピーする
                copyStyle(textRange, xCell, wCell);
            }
        }

        // Wordファイルに保存する
        doc.saveToFile("ExportToWord.docx", FileFormat.Docx);
    }

    //マージされた領域がある場合は、セルをマージする
    private static void mergeCells(Worksheet sheet, Table table) {
        if (sheet.hasMergedCells()) {

            //Excelからマージされたセル範囲を取得する
            CellRange[] ranges = sheet.getMergedCells();
            for (int i = 0; i < ranges.length; i++) {
                int startRow = ranges[i].getRow();
                int startColumn = ranges[i].getColumn();
                int rowCount = ranges[i].getRowCount();
                int columnCount = ranges[i].getColumnCount();

                // Wordテーブルの対応するセルを結合する
                if (rowCount > 1 && columnCount > 1) {
                    for (int j = startRow; j <= startRow + rowCount ; j++) {
                        table.applyHorizontalMerge(j - 1, startColumn - 1, startColumn - 1 + columnCount - 1);
                    }
                    table.applyVerticalMerge(startColumn - 1, startRow - 1, startRow - 1 + rowCount - 1 );
                }
                if (rowCount > 1 && columnCount == 1 ) {
                     table.applyVerticalMerge(startColumn - 1, startRow - 1, startRow - 1 + rowCount - 1);
                }
                if (columnCount > 1 && rowCount == 1 ) {
                    table.applyHorizontalMerge(startRow - 1, startColumn - 1,  startColumn - 1 + columnCount-1);
                }
            }
        }
    }

    // ExcelセルスタイルをWordテーブルにコピーする
    private static void copyStyle(TextRange wTextRange, CellRange xCell, TableCell wCell) {

        //フォントスタイルをコピーする
        wTextRange.getCharacterFormat().setTextColor(xCell.getStyle().getFont().getColor());
        wTextRange.getCharacterFormat().setFontSize((float) xCell.getStyle().getFont().getSize());
        wTextRange.getCharacterFormat().setFontName(xCell.getStyle().getFont().getFontName());
        wTextRange.getCharacterFormat().setBold(xCell.getStyle().getFont().isBold());
        wTextRange.getCharacterFormat().setItalic(xCell.getStyle().getFont().isItalic());

        //背景色をコピーする
        wCell.getCellFormat().setBackColor(xCell.getStyle().getColor());

        //水平方向の配置をコピーする
        switch (xCell.getHorizontalAlignment()) {
            case Left:
                wTextRange.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Left);
                break;
            case Center:
                wTextRange.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
                break;
            case Right:
                wTextRange.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Right);
                break;
        }
        
        //垂直方向の配置をコピーする
        switch (xCell.getVerticalAlignment()) {
            case Bottom:
                wCell.getCellFormat().setVerticalAlignment(VerticalAlignment.Bottom);
                break;
            case Center:
                wCell.getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);
                break;
            case Top:
                wCell.getCellFormat().setVerticalAlignment(VerticalAlignment.Top);
                break;
        }
    }
}

Java:フォーマットされた Excel データを Word テーブルにエクスポートする方法

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

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

Spire.Presentation 7.10.2 のリリースを発表できることをうれしく思います。このバージョンでは、グラフデータが「行と列の切り替え」機能を使用しているかどうかの検出をサポートしました。 同時に、PPT を PDF に変換した後の背景色が正しくない問題も修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature - グラフデータが「行と列の切り替え」機能を使用しているかどうかの検出をサポートしました。
bool result = chart.IsSwitchRowAndColumn();
Bug SPIREPPT-2064 PPT を PDF に変換した後の背景色が正しくない問題も修正されました。
ここで Spire. Presentation 7.10.2 をダウンロードする

Spire.Office for Java 7.10.4 のリリースを発表できることをうれしく思います。今回のアップデートには、いくつかの新機能が含まれています。Spire.Doc for Java は、Word ドキュメントのグリッドプロパティを設定する機能と、Docm 形式のファイルが暗号化されているかどうかをストリームで判断する機能が追加されました。Spire.PDF for Java は PDF から画像への変換機能が強化されました。Spire.XLS for Java は Excel から PDF への変換機能が強化されました。Spire.Presentation for Java では、PPT から PDF、SVG、および画像への変換機能が強化されました。さらに、多くの既知のバグが正常に修正されました。詳細は以下の内容を読んでください。

ここで Spire.Office for Java 7.10.4をダウンロードする:

このリリースで行われた変更のリストは次のとおりです

Spire.Doc for Java

カテゴリー ID 説明
New feature SPIREDOC-3686 Word のグリッドプロパティの設定をサポートしました。
      doc.loadFromFile("input.docx");
        for (GridPitchType type : GridPitchType.values()) {
            for (Object sec : doc.getSections()) {
                ((Section) sec).getPageSetup().setGridType(type);
                ((Section) sec).getPageSetup().setLinesPerPage(15);
            }
            doc.saveToFile("output.docx", FileFormat.Docx);
        }
        doc.close();
New feature SPIREDOC-8320 Docm 形式のファイルが暗号化されているかどうかをストリームで判断することがサポートしました。
    Document document = new Document();
        FileInputStream inStream = new FileInputStream("data/WordWithMacro1.docm");
        boolean isPwd = Document.isPassWordProtected(inStream);
Bug SPIREDOC-7739 WordをPDFに変換した後、横線の位置が正しくない問題が修正されました。
Bug SPIREDOC-8030 ドキュメントを分割した後のフォーマットの不一致が修正されました。
Bug SPIREDOC-8073 WordをPDFに変換した後、縦組みのテキストが横組みのテキストになっていた問題が修正されました。
Bug SPIREDOC-8074 HtmlをWordに変換した後、画像が失われていた問題が修正されました。
Bug SPIREDOC-8081 WordをPDFに変換した後、ページングが正しくない問題が修正されました。
Bug SPIREDOC-8240 row.addCell(true)メソッドで新しい行を追加すると、セルの枠線スタイルが失われる問題が修正されました。
Bug SPIREDOC-8241 差し込み印刷ドメインの更新が正しくない問題が修正されました。
Bug SPIREDOC-8274 WordをPDFに変換した後、コンテンツのインデントが変更された問題が修正されました。
Bug SPIREDOC-8290 WordをPDFに変換すると、余分な横線が発生する問題が修正されました。
Bug SPIREDOC-8311
SPIREDOC-8411
WordをPDFに変換した後、画像の位置が正しくない問題が修正されました。
Bug SPIREDOC-8323 修正を受け入れた後、コンテンツフォーマットが正しくない問題が修正されました。
Bug SPIREDOC-8333 isPassWordProtectedメソッドを呼び出した後、Files.deleteIfExistsでファイル削除に失敗した問題を修正しました。
Bug SPIREDOC-8334 ドキュメントが暗号化されているかどうかを判断する際に、アプリカティオンが「Cannot detect current file type」をスローする問題が修正されました。
Bug SPIREDOC-8335 ドキュメントをマージした後、結果ドキュメントを開くことができなかった問題が修正されました。
Bug SPIREDOC-8337 マルチスレッドでブックマークコンテンツを置換すると、アプリカティオンが例外をスローする問題が修正されました。
Bug SPIREDOC-8338 HTMLをWordに変換した後、画像表示が失敗した問題が修正されました。
Bug SPIREDOC-8339 ドキュメントを比較した後、ドキュメントテーブルに表示されていなかった差異の問題が修正されました。
Bug SPIREDOC-8342 ドキュメントを比較した後、結果ドキュメントの強調表示された領域の違いが表示されない問題が修正されました。
Bug SPIREDOC-8343 DocmをDocxに変換すると、custom.xmlファイルに情報が格納されているノードがvt:lpwstrからvt:lpstrに変化する問題が修正されました。
Bug SPIREDOC-8397 WordをPDFに変換した後、テキストの間隔が一致しなかった問題が修正されました。
Bug SPIREDOC-8407 WordをPDFに変換した後、表の形式が正しくない問題が修正されました。
Bug SPIREDOC-8411 ディレクトリドメインを更新する際に、アプリカティオンが「unpected cross ax」をスローする問題が修正されました。
Bug SPIREDOC-8414 要素をクローニングする際に、アプリカティオンが「IllegalArgumentException」をスローする問題が修正されました。
Bug SPIREDOC-8417 Wordから変換されたPDFをブラウザで開くと、日本語、ハングル文字の内容が表示されない問題が修正されました。
Bug SPIREDOC-8469 WordをHTMLに変換した後、内容が正しくない問題が修正されました。
Bug SPIREDOC-8493 WPS Officeで結果ドキュメントを開いたときに、追加された値が英字(または数字を含む英字)のカスタムプロパティが見えない問題が修正されました。

Spire.PDF for Java

カテゴリー ID 説明
Bug SPIREPDF-4981 システム DPI を 200% に設定した場合、PDFを画像に変換した後、画像の位置が正しくない問題が修正されました。
Bug SPIREPDF-5397 PDF をグレースケールに変換した後、一部のコンテンツがカラーのままになる問題が修正されました。
Bug SPIREPDF-5487 キーワードを検索するときに、アプリケーションが「java.lang.NullPointerException」をスローする問題が修正されました。
Bug SPIREPDF-5537 PDF を画像に変換するときに、アプリケーションが「java.lang.NullPointerException」をスローする問題が修正されました。
Bug SPIREPDF-5538 PDF を画像に変換した後、内容が文字化けしてしまう問題が修正されました。

Spire.XLS for Java

カテゴリー ID 説明
Bug SPIREXLS-4107 ファイルの最終の変更時間が正しく取得されない問題を修正しました。
Bug SPIREXLS-4129 Excel を XPS に変換した後、結果文書のオープンに失敗する問題を修正しました。
Bug SPIREXLS-4139 Excel を PDFに変換した後、行の高さが変更される問題を修正しました。
Bug SPIREXLS-4149 Excel を PDF に変換するときに、アプリカティオンが「ArrayIndexOutOfBoundsException」をスローする問題を修正しました。
Bug SPIREXLS-4153 Linux で Excel を PDF に変換するときに、フォントの埋め込みに失敗する問題を修正しました。
Bug SPIREXLS-4156 Excel を画像に変換するときに、評価警告ウォーターマークが不完全に表示される問題を修正しました。

Spire.Presentation for Java

カテゴリー ID 説明
Bug SPIREPPT-2057 暗号化されたPPTファイルをPDFに変換した後、出力ファイルが破損していた問題が修正されました。
Bug SPIREPPT-2070 PPTファイルをSVGに変換すると、形状が変化する問題が修正されました。
Bug SPIREPPT-2076 PPTファイルをPDFに変換すると、出力ファイルはテキストオーバーラップが発生する問題が修正されました。
Bug SPIREPPT-2084 PPTファイルを画像に変換した後、内容が正しくない問題が修正されました。
Bug SPIREPPT-2087 PPTをPDFに変換する際に、アプリケーションが「Cannot find table 'loca' in the font file.」をスローする問題が修正されました。
Bug SPIREPPT-2088 PPTファイルをロードする際にアプリケーションが「NullPointerException」をスローする問題も修正されました。

Spire.Doc for Java 10.10.7 のリリースを発表できることを嬉しく思います。このバージョンは、Word ドキュメントのグリッドプロパティを設定する機能と、Docm 形式のファイルが暗号化されているかどうかをストリームで判断する機能が追加されました。同時に、このリリースでは、Word から PDF、Word から HTML、HTML から Word、Docm から Docx への変換機能が強化されています。さらに、バージョンでは、差し込み印刷ドメインが正しく更新されていないことや、ディレクトリ ドメインを更新するときにアプリカティオンが 「unpected cross ax」 をスローする問題など、多くの既知の問題が修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature SPIREDOC-3686 Word のグリッドプロパティの設定をサポートしました。
      doc.loadFromFile("input.docx");
        for (GridPitchType type : GridPitchType.values()) {
            for (Object sec : doc.getSections()) {
                ((Section) sec).getPageSetup().setGridType(type);
                ((Section) sec).getPageSetup().setLinesPerPage(15);
            }
            doc.saveToFile("output.docx", FileFormat.Docx);
        }
        doc.close();
New feature SPIREDOC-8320 Docm 形式のファイルが暗号化されているかどうかをストリームで判断することがサポートしました。
    Document document = new Document();
        FileInputStream inStream = new FileInputStream("data/WordWithMacro1.docm");
        boolean isPwd = Document.isPassWordProtected(inStream);
Bug SPIREDOC-7739 WordをPDFに変換した後、横線の位置が正しくない問題が修正されました。
Bug SPIREDOC-8030 ドキュメントを分割した後のフォーマットの不一致が修正されました。
Bug SPIREDOC-8073 WordをPDFに変換した後、縦組みのテキストが横組みのテキストになっていた問題が修正されました。
Bug SPIREDOC-8074 HtmlをWordに変換した後、画像が失われていた問題が修正されました。
Bug SPIREDOC-8081 WordをPDFに変換した後、ページングが正しくない問題が修正されました。
Bug SPIREDOC-8240 row.addCell(true)メソッドで新しい行を追加すると、セルの枠線スタイルが失われる問題が修正されました。
Bug SPIREDOC-8241 差し込み印刷ドメインの更新が正しくない問題が修正されました。
Bug SPIREDOC-8274 WordをPDFに変換した後、コンテンツのインデントが変更された問題が修正されました。
Bug SPIREDOC-8290 WordをPDFに変換すると、余分な横線が発生する問題が修正されました。
Bug SPIREDOC-8311
SPIREDOC-8411
WordをPDFに変換した後、画像の位置が正しくない問題が修正されました。
Bug SPIREDOC-8323 修正を受け入れた後、コンテンツフォーマットが正しくない問題が修正されました。
Bug SPIREDOC-8333 isPassWordProtectedメソッドを呼び出した後、Files.deleteIfExistsでファイル削除に失敗した問題を修正しました。
Bug SPIREDOC-8334 ドキュメントが暗号化されているかどうかを判断する際に、アプリカティオンが「Cannot detect current file type」をスローする問題が修正されました。
Bug SPIREDOC-8335 ドキュメントをマージした後、結果ドキュメントを開くことができなかった問題が修正されました。
Bug SPIREDOC-8337 マルチスレッドでブックマークコンテンツを置換すると、アプリカティオンが例外をスローする問題が修正されました。
Bug SPIREDOC-8338 HTMLをWordに変換した後、画像表示が失敗した問題が修正されました。
Bug SPIREDOC-8339 ドキュメントを比較した後、ドキュメントテーブルに表示されていなかった差異の問題が修正されました。
Bug SPIREDOC-8342 ドキュメントを比較した後、結果ドキュメントの強調表示された領域の違いが表示されない問題が修正されました。
Bug SPIREDOC-8343 DocmをDocxに変換すると、custom.xmlファイルに情報が格納されているノードがvt:lpwstrからvt:lpstrに変化する問題が修正されました。
Bug SPIREDOC-8397 WordをPDFに変換した後、テキストの間隔が一致しなかった問題が修正されました。
Bug SPIREDOC-8407 WordをPDFに変換した後、表の形式が正しくない問題が修正されました。
Bug SPIREDOC-8411 ディレクトリドメインを更新する際に、アプリカティオンが「unpected cross ax」をスローする問題が修正されました。
Bug SPIREDOC-8414 要素をクローニングする際に、アプリカティオンが「IllegalArgumentException」をスローする問題が修正されました。
Bug SPIREDOC-8417 Wordから変換されたPDFをブラウザで開くと、日本語、ハングル文字の内容が表示されない問題が修正されました。
Bug SPIREDOC-8469 WordをHTMLに変換した後、内容が正しくない問題が修正されました。
Bug SPIREDOC-8493 WPS Officeで結果ドキュメントを開いたときに、追加された値が英字(または数字を含む英字)のカスタムプロパティが見えない問題が修正されました。
ここで Spire.Doc for Java 10.10.7 をダウンロードする

Excel でデータの入力規則は、ワークシートに入力されるデータ型を制限するのに役立ちます。つまり、特定のセルに入力された値は、そのセルに設定された条件を満たす必要があります。たとえば、データの入力規則を作成することで、セルを整数のみを受け入れるように制限できます。この記事では、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>12.10.3</version>
    </dependency>
</dependencies>

特定のセル範囲にデータの入力規則を適用する方法

詳細な手順は次のとおりです。

  • Workbook オブジェクトを作成します。
  • Workbook.getWorksheets()get() メソッドを使用して、最初のワークシートを取得します。
  • Worksheet.getCellRange() メソッドを使用して、て特定のセル範囲を取得し、データの入力規則を追加します。
  • CellRange.getDataValidation().setAllowType() メソッドを使用して、セルで許可されるデータ型を設定します。Integer、Time、Date、TextLength、Decimal などのデータ型を選択できます。
  • CellRange.getDataValidation().setCompareOperator() メソッドを使用して、比較演算子を設定します。比較演算子には、Between、NotBetween、Less、Greater、Equal などがあります。
  • CellRange.getDataValidation().setFormula1()CellRange.getDataValidation().setFormula2() メソッドを使用して、データ検証のための1つまたは2つの式を設定します。
  • CellRange.getDataValidation().setInputMessage() メソッドを使用して、入力プロンプトを設定します。
  • Workbook.saveToFile() メソッドを使用して、ブックを Excel ファイルに保存します。
  • Java
import com.spire.xls.*;

public class DataValidation {

    public static void main(String[] args) {

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

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

        //セルにテキストを挿入する
        sheet.getCellRange("B2").setText("番号の入力規則:");
        sheet.getCellRange("B4").setText("日付の入力規則:");
        sheet.getCellRange("B6").setText("テキストの長さの入力規則:");
        sheet.getCellRange("B8").setText("リストの入力規則:");
        sheet.getCellRange("B10").setText("時間の入力規則:");

        // C2に番号の入力規則を追加する
        CellRange rangeNumber = sheet.getCellRange("C2");
        rangeNumber.getDataValidation().setAllowType(CellDataType.Integer);
        rangeNumber.getDataValidation().setCompareOperator(ValidationComparisonOperator.Between);
        rangeNumber.getDataValidation().setFormula1("1");
        rangeNumber.getDataValidation().setFormula2("10");
        rangeNumber.getDataValidation().setInputMessage("1 ~ 10の数値を入力します");
        rangeNumber.getCellStyle().setKnownColor(ExcelColors.Gray25Percent);

        // C4に日付の入力規則を追加する
        CellRange rangeDate = sheet.getCellRange("C4");
        rangeDate.getDataValidation().setAllowType(CellDataType.Date);
        rangeDate.getDataValidation().setCompareOperator(ValidationComparisonOperator.Between);
        rangeDate.getDataValidation().setFormula1("1/1/2010");
        rangeDate.getDataValidation().setFormula2("12/31/2020");
        rangeDate.getDataValidation().setInputMessage("2010年1月1日から2020年12月31日までの日付を入力します");
        rangeDate.getCellStyle().setKnownColor(ExcelColors.Gray25Percent);

        // C6にテキストの長さの入力規則を追加する
        CellRange rangeTextLength = sheet.getCellRange("C6");
        rangeTextLength.getDataValidation().setAllowType(CellDataType.TextLength);
        rangeTextLength.getDataValidation().setCompareOperator(ValidationComparisonOperator.LessOrEqual);
        rangeTextLength.getDataValidation().setFormula1("5");
        rangeTextLength.getDataValidation().setInputMessage("5文字未満のテキストを入力します");
        rangeTextLength.getCellStyle().setKnownColor(ExcelColors.Gray25Percent);

        // C8にのリストの入力規則を適用する
        CellRange rangeList = sheet.getCellRange("C8");
        rangeList.getDataValidation().setValues(new String[]{ "アメリカ", "カナダ", "イギリス", "ドイツ" });
        rangeList.getDataValidation().isSuppressDropDownArrow(false);
        rangeList.getDataValidation().setInputMessage("リストから項目を選択します");
        rangeList.getCellStyle().setKnownColor(ExcelColors.Gray25Percent);

        // C10にの時間の入力規則を適用する
        CellRange rangeTime= sheet.getCellRange("C10");
        rangeTime.getDataValidation().setAllowType(CellDataType.Time);
        rangeTime.getDataValidation().setCompareOperator(ValidationComparisonOperator.Between);
        rangeTime.getDataValidation().setFormula1("9:00");
        rangeTime.getDataValidation().setFormula2("12:00");
        rangeTime.getDataValidation().setInputMessage("9:00 ~ 12:00の時刻を入力します");
        rangeTime.getCellStyle().setKnownColor(ExcelColors.Gray25Percent);

        //列2の幅を自動調整する
        sheet.autoFitColumn(2);

        //列3の幅を設定する
        sheet.setColumnWidth(3, 20);

        //ブックをExcelファイルに保存する
        workbook.saveToFile("output/ApplyDataValidation.xlsx", ExcelVersion.Version2016);
    }
}

Java:Excel でデータの入力規則の適用と削除方法

特定のセル範囲にデータの入力規則を削除する方法

詳細な手順は次のとおりです。

  • Workbook オブジェクトを作成します。
  • Workbook.loadFromFile() メソッドを使用して、サンプルドキュメントをロードします。
  • Workbook.getWorksheets()get() メソッドを使用して、最初のワークシートを取得します。
  • 特定のセル範囲を検索するために Rectangle オブジェクトの配列を作成します。
  • Worksheet.getDVTable().remove() メソッドを使用して、選択したセル範囲からデータの入力規則を削除します。
  • Workbook.saveToFile() メソッドを使用して、ブックを他の Excel ファイルに保存します。
  • Java
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

import java.awt.*;

public class RemoveDataValidation {

    public static void main(String[] args) {

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

        //Excelファイルをロードする
        workbook.loadFromFile("C:\\Users\\Administrator\\Desktop\\ApplyDataValidation.xlsx");

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

        //特定のセル範囲を検索するためにRectangleオブジェクトの配列を作成する     
 Rectangle[] rectangles = new Rectangle[]{

                // Rectangle(columnIndex, rowIndex) は特定のセルを指定し、列または行のインデックスは 0 から始まる
                // Rectangle(startColumnIndex, startRowIndex, endColumnIndex, endRowIndex)を使用してセル範囲を指定する
                new Rectangle(2,1),
                new Rectangle(2,3),
                new Rectangle(2,5),
                new Rectangle(2,7),
                new Rectangle(2,9)
        };

        //特定のセル範囲にデータの入力規則を削除する
        worksheet.getDVTable().remove(rectangles);

        //ブックをExcelファイルに保存する
        workbook.saveToFile("output/RemoveDataValidation.xlsx");
    }
}

Java:Excel でデータの入力規則の適用と削除方法

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

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

Excel ドロップダウンリストはデータ検証機能です。この機能は、指定されたセルに入力されたデータを制限し、事前定義された値セットから値を選択する必要があります。この記事では、Spire.XLS for .NET を使用して、C# および VB.NET でプログラムによって Excel でドロップダウンリストを作成する方法を紹介します。

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

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

PM> Install-Package Spire.XLS

セル範囲の値に基づいたドロップダウンリストを作成する

Spire.XLS for .NET を使用すると、値をセル範囲に追加し、指定したデータ範囲をデータ検証ソースとして参照して、ドロップダウンリストを作成できます。この方法は少し時間がかかりますが、結果文書のセルの値を直接変更することで、ドロップダウンリストの項目を簡単に更新できます。以下は具体的な操作手順です。

  • Workbook オブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して、サンプルドキュメントをロードします。
  • Workbook.Worksheets[] プロパティを使用して、指定したシートを取得します。
  • Worksheet.Range[] プロパティを使用して、指定したセルまたはセル範囲を取得します。
  • XlsRange.Value プロパティを使用して、指定したセルに値を追加します。
  • XlsRange.DataValidation プロパティを使用して、指定したセル範囲のデータ入力規則を取得します。
  • Validation.DataRange プロパティを使用して、指定したデータ範囲をデータ検証ソースとして参照することにより、ドロップダウンリストを作成します。
  • Workbook.SaveToFile() メソッドを使用して、結果文書を保存します。
  • C#
  • VB.NET
using Spire.Xls;

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

            //サンプルドキュメントをロードする
            workbook.LoadFromFile(@"E:\Files\input.xlsx");

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

            //指定したセルに値を追加する
            sheet.Range["A10"].Value = "テニス";
            sheet.Range["A11"].Value = "バスケットボール";
            sheet.Range["A12"].Value = "サッカー";

            //指定したデータ範囲をデータ検証ソースとして参照することにより、ドロップダウンリストを作成する
            sheet.Range["C2:C7"].DataValidation.DataRange = sheet.Range["A10:A12"];

            //結果文書を保存する
            workbook.SaveToFile("ExcelDropdownList.xlsx", ExcelVersion.Version2010);
        }
    }
}
Imports Spire.Xls

Namespace DropdownList
    Class Program
        Private Shared Sub Main(ByVal args As String())

            'Workbookオブジェクトを作成する
            Dim workbook As Workbook = New Workbook()

            'サンプルドキュメントをロードする
            workbook.LoadFromFile("E:\Files\input.xlsx")

            '最初のシートを取得する
            Dim sheet As Worksheet = workbook.Worksheets(0)

            '指定したセルに値を追加する
            sheet.Range("A10").Value = "テニス"
            sheet.Range("A11").Value = "バスケットボール"
            sheet.Range("A12").Value = "サッカー"

            '指定したデータ範囲をデータ検証ソースとして参照することにより、ドロップダウンリストを作成する            sheet.Range("C2:C7").DataValidation.DataRange = sheet.Range("A10:A12")

            '結果文書を保存する
            workbook.SaveToFile("ExcelDropdownList.xlsx", ExcelVersion.Version2010)
        End Sub
    End Class
End Namespace

C#/VB.NET:Excel でドロップダウンリストを作成する方法

文字列配列の値に基づいたドロップダウンリストを作成する

Excel では値リストを手動で入力することでドロップダウンリストを作成できます。この方法では、Excel セルにデータを追加しないようにして、Excel ドキュメントの整然とした順序を保つことができます。以下は具体的な操作手順です。

  • Workbook オブジェクトを作成します。
  • Workbook.Worksheets[] プロパティを使用して、指定したシートを取得します。
  • セルにテキストを追加し、セルフォントスタイルを設定します。
  • Worksheet.Range[] プロパティを使用して、指定したセルまたはセル範囲を取得します。
  • XlsRange.DataValidation プロパティを使用して、指定したセル範囲のデータの入力規則を取得します。
  • Validation.Values プロパティを使用して、ドロップダウンリストの値を設定します。
  • Validation.IsSuppressDropDownArrow プロパティを false に設定するで、指定したセルにドロップダウンリストを作成します。
  • Workbook.SaveToFile() メソッドを使用して、結果文書を保存します。
  • C#
  • VB.NET
using Spire.Xls;

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

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

            //セルB 2にテキストを追加し、フォントスタイルを設定する
            sheet.Range["B2"].Value = "興味";
            sheet.Range["B2"].Style.Font.IsBold = true;
            sheet.Range["B2"].Style.KnownColor = ExcelColors.LightTurquoise;

            //ドロップダウンリストの値を設定する
            sheet.Range["C2"].DataValidation.Values = new string[] { "テニス", "バスケットボール", "サッカー" };

            //指定したセルにドロップダウンリストを作成する
            sheet.Range["C2"].DataValidation.IsSuppressDropDownArrow = false;

            //結果文書を保存する
            workbook.SaveToFile("ExcelDropdownList.xlsx", ExcelVersion.Version2010);
        }
    }
}
Imports Spire.Xls

Namespace DropdownList2
    Class Program
        Private Shared Sub Main(ByVal args As String())

            'Workbookオブジェクトを作成する
            Dim workbook As Workbook = New Workbook()

            '最初のシートを取得する
            Dim sheet As Worksheet = workbook.Worksheets(0)

            'セルB 2にテキストを追加し、フォントスタイルを設定する
            sheet.Range("B2").Value = "興味"
            sheet.Range("B2").Style.Font.IsBold = True
            sheet.Range("B2").Style.KnownColor = ExcelColors.LightTurquoise

            'ドロップダウンリストの値を設定する
            sheet.Range("C2").DataValidation.Values = New String() { "テニス", "バスケットボール", "サッカー" }

            '指定したセルにドロップダウンリストを作成する
            sheet.Range("C2").DataValidation.IsSuppressDropDownArrow = False

            '結果文書を保存する
            workbook.SaveToFile("ExcelDropdownList.xlsx", ExcelVersion.Version2010)
        End Sub
    End Class
End Namespace

C#/VB.NET:Excel でドロップダウンリストを作成する方法

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

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

Spire.XLS for Java 12.10.3 のリリースを発表できることを嬉しく思います。このリリースでは、Excel から PDF への変換機能が強化されました。ファイルの最終の変更時間が正しく取得されないなど、既知の問題も修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
Bug SPIREXLS-4107 ファイルの最終の変更時間が正しく取得されない問題を修正しました。
Bug SPIREXLS-4129 Excel を XPS に変換した後、結果文書のオープンに失敗する問題を修正しました。
Bug SPIREXLS-4139 Excel を PDFに変換した後、行の高さが変更される問題を修正しました。
Bug SPIREXLS-4149 Excel を PDF に変換するときに、アプリカティオンが「ArrayIndexOutOfBoundsException」をスローする問題を修正しました。
Bug SPIREXLS-4153 Linux で Excel を PDF に変換するときに、フォントの埋め込みに失敗する問題を修正しました。
Bug SPIREXLS-4156 Excel を画像に変換するときに、評価警告ウォーターマークが不完全に表示される問題を修正しました。
ここで Spire.XLS for Java12.10.3 をダウンロードする