チュートリアル

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

Koohji

Koohji

複数のワークブックを1つのワークブックにまとめた場合、関連するデータをワークシートで管理するのが便利です。ただし、時には1つのワークブック内のワークシートを別のワークブックに分割し、他の情報を漏らさずに個々のワークシートを配布することも必要です。この記事では、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.8.4</version>
    </dependency>
</dependencies>

Excel ワークブックを複数のワークブックに分割する

ワークブックの分割は、そのワークブックのワークシートを取得し、新しいワークブックに挿入することで実現できます。詳しい手順については、以下のとおりです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.loadFromFile() メソッドで Excel ファイルを読み込みます。
  • 新しいワークブックを作成するために使用する変数 Workbook を宣言します。
  • 元のワークブック内のワークシートをループします。
  • Workbook クラスオブジェクトを初期化し、元のワークブックの特定のワークシートのコピーをその中に追加します。
  • Workbook.saveToFile() メソッドを使用して、ワークブックをファイルに保存します。
  • Java
import com.spire.xls.FileFormat;
import com.spire.xls.Workbook;

public class splitWorkbook {

    public static void main(String[] args) {

        //Workbookクラスのオブジェクトを作成する
        Workbook wb = new Workbook();

        //Excelファイルを読み込む
        wb.loadFromFile("貸借対照表.xlsx");

        //Workbookの変数を宣言する
        Workbook newWb;

        //String変数を宣言する
        String sheetName;

        //生成されたExcelファイルを格納するフォルダパスを指定する
        String folderPath = "output\\";

        //元ファイルのワークシートをループする
        for (int i = 0; i < wb.getWorksheets().getCount(); i++) {

            //Workbookオブジェクトを初期化する
            newWb = new Workbook();

            //デフォルトのシートを削除する
            newWb.getWorksheets().clear();

            //元のワークブックの特定のワークシートを新しいワークブックに追加する
            newWb.getWorksheets().addCopy(wb.getWorksheets().get(i));

            //ワークシートの名前を取得する
            sheetName = wb.getWorksheets().get(i).getName();

            //新しいワークブックを指定されたフォルダに保存する
            newWb.saveToFile(folderPath + sheetName + ".xlsx", FileFormat.Version2013);
        }
    }
}

Java:Excel ワークブックを結合または分割する方法

複数のワークブックにあるワークシートを新しいワークブックに統合する

Spire.XLS for Java では、ワークブック内のワークシートをコピーして新しいワークブックに追加する Workbook.getWorksheets().addCopy() という機能が提供されています。各ワークブックをループして、すべてのワークシートをコピーすることができます。Excel ワークブックを結合する詳細な手順は以下のとおりです。

  • String[] クラスのオブジェクトを作成し、結合するワークブックを入力します。
  • Workbook クラスのインスタンスを作成します。
  • Workbook.getWorksheets().clear() メソッドを使用して、ワークブック内のワークシートを削除します。
  • 別の Workbook クラスのインスタンスを作成します。
  • 入力されたワークブックをループし、Workbook.getWorksheets().addCopy() メソッドを使用してワークシートを新しいワークブックにコピーします。
  • Workbook.saveToFile() メソッドを使用して、結果ファイルを保存します。
  • Java
import com.spire.xls.*;

public class mergeWorkbooks {
    public static void main(String[] args){
        //Excelワークブックを入力する
        String[] inputFiles = new String[]{"output/概要.xlsx","output/負債と資本.xlsx", "output/資産.xlsx"};

        //Workbookクラスのオブジェクトを作成する
        Workbook newBook = new Workbook();

        //すべてのワークシートを削除する
        newBook.getWorksheets().clear();

        //別のWorkbookクラスのオブジェクトを作成する
        Workbook tempBook = new Workbook();

        //Excelファイルをループして、各Excelワークブックのワークシートを新しいワークブックにコピーする
        for (String file : inputFiles)
        {
            tempBook.loadFromFile(file);
            for (Object sheet : (Iterable)tempBook.getWorksheets())
            {
                newBook.getWorksheets().addCopy((Worksheet) sheet, WorksheetCopyType.CopyAll);
            }
        }

        //結果ファイルを保存する
        newBook.saveToFile("ワークブックの結合.xlsx", ExcelVersion.Version2013);
    }
}

Java:Excel ワークブックを結合または分割する方法

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

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

Spire.Office 7.12.5のリリースを発表できることを嬉しく思います。このバージョンでは、Spire.Docは.NET 7.0プラットフォームと段落の「文書のグリッドを定義したら、グリッドに揃えます」機能の設定をサポートしました。Spire.PDFはPDFからWordに変換する新しいインタフェースが追加されました。Spire.XLSは.NET 7.0をサポートしました。Spire.PresentationはPPTスライドを画像として保存した後にコンテンツが失われていた問題が修正されました。さらに、このバージョンでは、多くの既知の問題も修正しました。詳細は以下の内容を読んでください。

このバージョンでは、Spire.Doc,Spire.PDF,Spire.XLS,Spire.Email,Spire.DocViewer, Spire.PDFViewer,Spire.Presentation,Spire.Spreadsheet, Spire.OfficeViewer, Spire.DocViewer, Spire.Barcode, Spire.DataExportの最新バージョンが含まれています。

DLL Versions:
  • Spire.Doc.dll v10.12.4,
  • Spire.Pdf.dll v8.12.7,
  • Spire.XLS.dll v12.12.3,
  • Spire.Presentation.dll v7.12.1,
  • Spire.Email.dll v5.12.19,
  • Spire.DocViewer.Forms.dll v7.10.0,
  • Spire.PdfViewer.Forms.dll v7.10.0,
  • Spire.PdfViewer.Asp.dll v7.10.0,
  • Spire.Spreadsheet.dll v6.12.0,
  • Spire.OfficeViewer.Forms.dll v7.12.4,
  • Spire.Barcode.dll v6.12.1,
  • Spire.DataExport.dll v4.8.0,
  • Spire.DataExport.ResourceMgr.dll v2.1.0.
ここで Spire.Office 7.12.5をダウンロードする:

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

Spire.Doc

カテゴリー ID 説明
New feature - .NET 7.0プラットフォームをサポートしました。
New feature SPIREDOC-7985 段落の「文書のグリッドを定義したら、グリッドに揃えます」機能の設定をサポートしました。
Document document = new Document(inputFile);
Paragraph paragraph = document.Sections[0].Paragraphs[0];
paragraph.Format.SnapToGrid = true; 
Bug SPIREDOC-5863 WordをPDFに変換した後、一部のコンテンツに紫の背景色が追加設定されていた問題が修正されました。
Bug SPIREDOC-5963 WordをPDFに変換した後の改ページが正しくない問題が修正されました。
Bug SPIREDOC-6776 WordをPDFに変換した後の表の内容が正しくない問題が修正されました。
Bug SPIREDOC-8661 WordをPDFに変換すると画像が失われる問題が修正されました。
Bug SPIREDOC-8781 HTMLをWordに変換する際にプログラムがハングアップしていた問題が修正されました。
Bug SPIREDOC-8841 テキストを置き換えると文字の間隔が変わる問題を修正しました。
Bug SPIREDOC-8891 埋め込まれたOLEオブジェクトのファイル名がヘブライ語の場合にファイル名が文字化けしてしまう問題が修正されました。

Spire.PDF

カテゴリー ID 説明
New feature - PDFをWordに変換する新しいインタフェースが追加されました。
PdfToWordConverter converter= new PdfToWordConverter (inputPDF);
converter.SaveToDocx(outputWord);
converter.Dispose(); 
Bug SPIREPDF-5580 PDFをExcelに変換した後に画像が失われていた問題が修正されました。
Bug SPIREPDF-5600 位置によって検出されたテキストの内容が正しくない問題が修正されました。
Bug SPIREPDF-5616 ドキュメントをマージするときにプログラムが「Badly formed dictionary next should be a name. before 377658」をスローする問題が修正されました。
Bug SPIREPDF-5654 pdfDocument.InsertPageメソッドを使用してドキュメントをマージする際にプログラムが「System.StackOverflowException」をスローする問題が修正されました。
Bug SPIREPDF-5655 PDFをExcelに変換した後に箇条書きが正しく表示されなかった問題が修正されました。
Bug SPIREPDF-5656 MS ExcelツールでPDFをExcelに変換した後に、結果ドキュメントを開くのに失敗する問題が修正されました。
Bug SPIREPDF-5667 ドキュメントをマージする際にプログラムが「com.spire.pdf.packages.sprnsn cannot be cast to com.spire.pdf.packages.sprvqe」をスローする問題問題が修正されました。
Bug SPIREPDF-5680 ドイツ語のシステム環境下でPDFコンテンツが不完全に印刷されていた問題が修正されました。

Spire.XLS

カテゴリー ID 説明
Bug SPIREXLS-783 ExcelをPDFに変換した後の枠線が正しくない問題が修正されました。
Bug SPIREXLS-4288 Save()関数を呼び出して.et形式の文書を保存する場合のデータ保存に失敗する問題を修正しました。
Bug SPIREXLS-4297 ExcelをCSVに変換した後、数式が計算されなかった問題が修正されました。
Bug SPIREXLS-4317 SetActiveCell()関数を呼び出したときに選択されていたセルがアクティブになっていた問題が修正されました。
Bug SPIREXLS-4325 ExcelをPDFに変換した後にA列のデータが失われていた問題が修正されました。
Bug SPIREXLS-4328 CSVファイル内のデータをデータテーブルに変換する際のデータフォーマットが正しくない問題が修正されました。
Bug SPIREXLS-4330 HTMLをExcelに変換した後に結果ファイルの中国語文字化けが修正されました。
Bug SPIREXLS-4332 指定したセル範囲を画像に連続的に変換する際に、アプリケーションが「System.NullReferenceException」をスローする問題が修正されました。

Spire.Presentation

カテゴリー ID 説明
Bug SPIREPPT-2109 PPTスライドを画像として保存した後にコンテンツが失われていた問題が修正されました。

スライドは PowerPoint ドキュメントの重要な要素の1つで、著者が共有したい情報やアイデアが含まれています。PowerPoint ドキュメントを編集する際には、新しいスライドを作成したり、不要なスライドを削除したり、一時的にスライドを非表示にしたりするなど、スライドに対して操作を実行することは避けられません。この記事では、Spire.Presentation for 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.12.0</version>
    </dependency>
</dependencies>

PowerPoint の最後に新しいスライドを追加する

Spire.Presentation for Java が提供する Presentation.getSlides().append() メソッドを使用すると、PowerPoint で最後のスライドの後に新しいスライドを追加できます。詳細な手順は次のとおりです。

  • Presentation クラスのインスタンスを初期化 します
  • Presentation.loadFromFile() メソッドを使用してPowerPoint ドキュメントをロードします。
  • Presentation.getSlides().append() メソッドを使用して、PowerPoint で最後のスライドの後に新しい空白のスライドを追加します。
  • Presentation.saveToFile() メソッドを使用して結果ドキュメントを保存します。
  • Java
import com.spire.presentation.*;

public class AddNewSlideinPowerPoint {
    public static void main(String[] args) throws Exception {
        //Presentationクラスのインスタンスを初期化する
        Presentation presentation = new Presentation();

        //PowerPointドキュメントをロードする
        presentation.loadFromFile("Sample.pptx");

        //PowerPointの最後の後に新しい空白のスライドを追加する
        presentation.getSlides().append();

        //結果ドキュメントを保存する
        presentation.saveToFile("AddSlide.pptx", FileFormat.PPTX_2013);
    }
}

Java:PowerPoint でスライドを追加、隠すまたは削除する方法

PowerPoint で特定のスライドの前に新しいスライドを挿入する

他の情報を追加するには、特定のスライドの前にスライドを挿入する必要がある場合もあります。以下に詳細な操作手順を示します。

  • Presentation クラスのインスタンスを初期化 します
  • Presentation.loadFromFile() メソッドを使用して PowerPoint ドキュメントをロードします。
  • Presentation.getSlides().insert() メソッドを使用して、指定したスライドの前に空白のスライドを挿入します。
  • Presentation.saveToFile() メソッドを使用して結果ドキュメントを保存します。
  • Java
import com.spire.presentation.*;

public class InsertSlideinPowerPoint {
    public static void main(String[] args) throws Exception {
        //Presentationクラスのインスタンスを初期化する
        Presentation presentation = new Presentation();

        //PowerPointドキュメントをロードする
        presentation.loadFromFile("Sample.pptx");

        //2枚目のスライドの前に空白のスライドを挿入する
        presentation.getSlides().insert(1);

        //結果ドキュメントを保存する
        presentation.saveToFile("InsertSlide.pptx", FileFormat.PPTX_2013);
    }
}

Java:PowerPoint でスライドを追加、隠すまたは削除する方法

PowerPoint で特定のスライドを隠すと隠しを解除する

プレゼンテーション中は、直接削除するのではなく、一時的に表示したくないスライドを非表示にすることができます。以下は、特定の PowerPoint スライドを非表示または表示にする手順です。

  • Presentation クラスのインスタンスを初期化 します
  • Presentation.loadFromFile() メソッドを使用して PowerPoint ドキュメントをロードします。
  • Presentation.getSlides().get() メソッドを使用して、指定したスライドを取得します。
  • ISlide.setHidden()メソッドの値をtrueまたはfalseに設定して、スライドを非表示または表示にします。
  • Presentation.saveToFile() メソッドを使用して結果ドキュメントを保存します。
  • Java
import com.spire.presentation.*;

public class HideUnhideSlides {
    public static void main(String[] args) throws Exception {
        //Presentationクラスのインスタンスを初期化する
        Presentation presentation = new Presentation();

        //PowerPointドキュメントをロードする
        presentation.loadFromFile("Sample.pptx");

        //2枚目のスライドを取得する
        ISlide slide = presentation.getSlides().get(1);

        //スライドを隠す
        slide.setHidden(true);

        //スライドの隠しを解除する
        //slide.setHidden(false);

        //結果ドキュメントを保存する
        presentation.saveToFile("HideSlide.pptx", FileFormat.PPTX_2010);
    }
}

Java:PowerPoint でスライドを追加、隠すまたは削除する方法

PowerPoint から特定のスライドを削除する

Spire.Presemtation for Java が提供する Presentation.getSlides().removeAt(int index) メソッドは、ドキュメントから指定したスライドを削除することをサポートします。詳細な手順は次のとおりです。

  • Presentation クラスのインスタンスを初期化 します
  • Presentation.loadFromFile() メソッドを使用して PowerPoint ドキュメントをロードします。
  • Presentation.getSlides().removeAt() メソッドを使用して、指定したスライドを削除します。
  • Presentation.saveToFile() メソッドを使用して結果ドキュメントを保存します。
  • Java
import com.spire.presentation.*;

public class DeletePowerPointSlide {
    public static void main(String[] args) throws Exception {
        //Presentationクラスのインスタンスを初期化する
        Presentation presentation = new Presentation();

        //PowerPointドキュメントをロードする
        presentation.loadFromFile("Sample.pptx ");

        //2枚目のスライドを削除する
        presentation.getSlides().removeAt(1);

        //結果ドキュメントを保存する
        presentation.saveToFile("RemoveSlide.pptx", FileFormat.PPTX_2013);
    }
}

Java:PowerPoint でスライドを追加、隠すまたは削除する方法

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

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

Spire.Office for Java 7.12.4のリリースを発表できることをうれしく思います。今回のアップデートには、いくつかの新機能が含まれています。Spire.PDF for JavaはラベルPDFファイルの作成がサポートされました。Spire.Presentation for Javaはテーブル全体のコンテンツを新しいスライドにクローンすることをサポートしました。Spire.Doc for JavaはWordからPDFへの変換機能が強化されました。Spire.XLS for JavaはExcelからPDFと画像への変換機能とXLSMからPDFへの変換機能が強化されました。さらに、多くの既知のバグが正常に修正されました。詳細は以下の内容を読んでください。

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

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

Spire.PDF for Java

カテゴリー ID 説明
New feature - ラベルPDFファイルの作成がサポートされました。
//Create a pdf document
PdfDocument doc = new PdfDocument();
//Add page
doc.getPages().add();
//Set tab order
doc.getPages().get(0).setTabOrder(TabOrder.Structure);
//Create PdfTaggedContent
PdfTaggedContent taggedContent = new PdfTaggedContent(doc);
taggedContent.setLanguage("en-US");
taggedContent.setTitle("test");
//Set font
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Times New Roman",Font.PLAIN,12), true);
PdfSolidBrush brush = new PdfSolidBrush(new PdfRGBColor(Color.black));
//Append elements
PdfStructureElement article = taggedContent.getStructureTreeRoot().appendChildElement(PdfStandardStructTypes.Document);
PdfStructureElement paragraph1 = article.appendChildElement(PdfStandardStructTypes.Paragraph);
PdfStructureElement span1 = paragraph1.appendChildElement(PdfStandardStructTypes.Span);
span1.beginMarkedContent(doc.getPages().get(0));
PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Justify);
doc.getPages().get(0).getCanvas().drawString("Spire.PDF for .NET is a professional PDF API applied to creating, writing, editing, handling and reading PDF files.",
font, brush, new Rectangle(40, 0, 480, 80), format);
span1.endMarkedContent(doc.getPages().get(0));
PdfStructureElement paragraph2 = article.appendChildElement(PdfStandardStructTypes.Paragraph);
paragraph2.beginMarkedContent(doc.getPages().get(0));
doc.getPages().get(0).getCanvas().drawString("Spire.PDF for .NET can be applied to easily convert Text, Image, SVG, HTML to PDF and convert PDF to Excel with C#/VB.NET in high quality.",
font, brush, new Rectangle(40, 80, 480, 60), format);
paragraph2.endMarkedContent(doc.getPages().get(0));
PdfStructureElement figure1 = article.appendChildElement(PdfStandardStructTypes.Figure);
//Set Alternate text
figure1.setAlt("replacement text1");
figure1.beginMarkedContent(doc.getPages().get(0), null);
PdfImage image = PdfImage.fromFile("E-logo.png");
Dimension2D dimension2D = new Dimension();
dimension2D.setSize( 100,100);
doc.getPages().get(0).getCanvas().drawImage(image, new Point2D.Float(40, 200),dimension2D);
figure1.endMarkedContent(doc.getPages().get(0));
PdfStructureElement figure2 = article.appendChildElement(PdfStandardStructTypes.Figure);
//Set Alternate text
figure2.setAlt( "replacement text2");
figure2.beginMarkedContent(doc.getPages().get(0), null);
doc.getPages().get(0).getCanvas().drawRectangle(PdfPens.getBlack(), new Rectangle(300, 200, 100, 100));
figure2.endMarkedContent(doc.getPages().get(0));

//Save to file
String result = "CreateTaggedFile_result.pdf";
doc.saveToFile(result);
doc.close();
Bug SPIREPDF-4806 抽出画像の時間がかかる問題を最適化しました。
Bug SPIREPDF-4856 ドキュメント画像を圧縮する際のメモリ消費の問題を最適化しました。
Bug SPIREPDF-4860
SPIREPDF-5583
PDFのロード時にアプリケーションが長時間ハングアップしていた問題が修正されました。
Bug SPIREPDF-4955 PDF文書の圧縮に時間がかかる問題を最適化しました。
Bug SPIREPDF-5496 PDFをExcelに変換するためにCustomFontsFoldersを定義する際に、アプリケーションが「TimesNewRomanのフォントが見つかりません」をスローする問題が修正されました。
Bug SPIREPDF-5622 PdfGridを使用して表を描画する際に、枠線の太さが異なる問題が修正されました。
Bug SPIREPDF-5641 異なる場所で描画すると、グリッドセルの内容が正しく表示されない問題を修正しました。
Bug SPIREPDF-5646 PDFをマージすると、アプリケーションが「Unexpected token Unknown before 105」をスローする問題が修正されました。

Spire.Presentation for Java

カテゴリー ID 説明
New feature SPIREPPT-2110 テーブル全体の内容を新しいスライドにクローンすることをサポートしました。
Presentation ppt = new Presentation();
ppt.loadFromFile(inputPPT);
ITable table = (ITable)ppt.getSlides().get(0).getShapes().get(0);
Presentation ppt2 = new Presentation();
ISlide slide = ppt2.getSlides().get(0);
slide.getShapes().appendTable(0,0, table);
ppt2.saveToFile(outputFile, FileFormat.PPTX_2013); 
Bug SPIREPPT-2112 テキストの塗りつぶし色が正しく取得されない問題が修正されました。
Bug SPIREPPT-2113 ドキュメント内のビデオを削除した後に、ドキュメントのサイズが変化しない問題が修正されました。
Bug SPIREPPT-2122 PPTをSVGに変換した後に修正された内容が更新されていない問題が修正されました。
Bug SPIREPPT-2127 urlデータが追加されたビデオを再生できない問題が修正されました。
Bug SPIREPPT-2128 PPTを画像に変換した後にコンテンツが回転する問題が修正されました。
Bug SPIREPPT-2129 PPTをSVGに変換した後に背景スタイルが正しくない問題が修正されました。
Bug SPIREPPT-2130 PPTを画像に変換した後にチャートが失われていた問題が修正されました。

Spire.XLS for Java

カテゴリー ID 説明
Bug SPIREXLS-4147 ExcelをPDFと画像に変換した後の内容が正しくない問題が修正されました。
Bug SPIREXLS-4260 ExcelをPDFに変換した後のコンテンツフォーマットが正しくない問題が修正されました。
Bug SPIREXLS-4236 作成したピボット・テーブルの日付フォーマットが正しくない問題が修正されました。
Bug SPIREXLS-4298 XLSMをPDFに変換すると空白ページが多くなる問題が修正されました。
Bug SPIREXLS-4289 Worksheet.MaxDisplayRangeの領域が画像が含まれていなかったりする問題が修正されました。
Bug SPIREXLS-4319 ExcelをPDFに変換する際にプログラムが「Value is too large or too small」をスローする問題が修正されました。
Bug SPIREXLS-4327 ExcelをPDFに変換した後の日付が正しくない問題が修正されました。
Bug SPIREXLS-4329 Excelを画像に変換した後の内容が不完全だった問題が修正されました。
Bug SPIREXLS-4331
SPIREXLS-4335
en_INシステムでExcelをPDFに変換した後の数値フォーマットが正しくない問題が修正されました。
Bug SPIREXLS-4339 画像の透かしを描画する際に透明度が失われていた問題が修正されました。
Bug SPIREXLS-4348 ExcelをPDFに変換する際にプログラムが「Invalid row index」をスローする問題が修正されました。

Spire.Doc for Java

カテゴリー ID 説明
Bug SPIREDOC-8790 WordをPDFに変換する際にテーブルのフォーマットが正しくない問題が修正されました。
Bug SPIREDOC-8791 WordをPDFに変換する際にテーブルが失われていた問題が修正されました。

Spire.Presentation for Java 7.12.4のリリースを発表できることをうれしく思います。今回の更新では、テーブル全体のコンテンツを新しいスライドにクローンすることをサポートしました。PPTから画像への変換機能も強化されました。また、このリリースでは、テキストの塗りつぶし色が正しく取得されないなどの既知の問題も修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature SPIREPPT-2110 テーブル全体の内容を新しいスライドにクローンすることをサポートしました。
Presentation ppt = new Presentation();
ppt.loadFromFile(inputPPT);
ITable table = (ITable)ppt.getSlides().get(0).getShapes().get(0);
Presentation ppt2 = new Presentation();
ISlide slide = ppt2.getSlides().get(0);
slide.getShapes().appendTable(0,0, table);
ppt2.saveToFile(outputFile, FileFormat.PPTX_2013); 
Bug SPIREPPT-2112 テキストの塗りつぶし色が正しく取得されない問題が修正されました。
Bug SPIREPPT-2113 ドキュメント内のビデオを削除した後に、ドキュメントのサイズが変化しない問題が修正されました。
Bug SPIREPPT-2122 PPTをSVGに変換した後に修正された内容が更新されていない問題が修正されました。
Bug SPIREPPT-2127 urlデータが追加されたビデオを再生できない問題が修正されました。
Bug SPIREPPT-2128 PPTを画像に変換した後にコンテンツが回転する問題が修正されました。
Bug SPIREPPT-2129 PPTをSVGに変換した後に背景スタイルが正しくない問題が修正されました。
Bug SPIREPPT-2130 PPTを画像に変換した後にチャートが失われていた問題が修正されました。
ここで Spire.Presentation for Java 7.12.4をダウンロードする

Spire.XLS for Java 12.12.4のリリースを発表できることを嬉しく思います。今回の更新では、ExcelからPDFと画像への変換機能とXLSMからPDFへの変換機能が強化されました。また、作成されたピボット・テーブルの日付フォーマットが間違っていたり、Worksheet.MaxDisplayRangeの領域に画像が含まれていなかったりするなど、既知の問題も修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
Bug SPIREXLS-4147 ExcelをPDFと画像に変換した後の内容が正しくない問題が修正されました。
Bug SPIREXLS-4260 ExcelをPDFに変換した後のコンテンツフォーマットが正しくない問題が修正されました。
Bug SPIREXLS-4236 作成したピボット・テーブルの日付フォーマットが正しくない問題が修正されました。
Bug SPIREXLS-4298 XLSMをPDFに変換すると空白ページが多くなる問題が修正されました。
Bug SPIREXLS-4289 Worksheet.MaxDisplayRangeの領域が画像が含まれていなかったりする問題が修正されました。
Bug SPIREXLS-4319 ExcelをPDFに変換する際にプログラムが「Value is too large or too small」をスローする問題が修正されました。
Bug SPIREXLS-4327 ExcelをPDFに変換した後の日付が正しくない問題が修正されました。
Bug SPIREXLS-4329 Excelを画像に変換した後の内容が不完全だった問題が修正されました。
Bug SPIREXLS-4331
SPIREXLS-4335
en_INシステムでExcelをPDFに変換した後の数値フォーマットが正しくない問題が修正されました。
Bug SPIREXLS-4339 画像の透かしを描画する際に透明度が失われていた問題が修正されました。
Bug SPIREXLS-4348 ExcelをPDFに変換する際にプログラムが「Invalid row index」をスローする問題が修正されました。
ここで Spire.XLS for Java12.12.4をダウンロードする

Spire.Doc 10.12.4のリリースを発表できることを嬉しく思います。このバージョンでは、.NET 7.0プラットフォームをサポートしました。今回の更新は、段落の「文書のグリッドを定義したら、グリッドに揃えます」機能の設定をサポートしました。WordからPDFへの変換機能も強化しました。また、テキストを置き換えると文字の間隔が変わるなどの問題も修正しました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature - .NET 7.0プラットフォームをサポートしました。
New feature SPIREDOC-7985 段落の「文書のグリッドを定義したら、グリッドに揃えます」機能の設定をサポートしました。
Document document = new Document(inputFile);
Paragraph paragraph = document.Sections[0].Paragraphs[0];
paragraph.Format.SnapToGrid = true; 
Bug SPIREDOC-5863 WordをPDFに変換した後、一部のコンテンツに紫の背景色が追加設定されていた問題が修正されました。
Bug SPIREDOC-5963 WordをPDFに変換した後の改ページが正しくない問題が修正されました。
Bug SPIREDOC-6776 WordをPDFに変換した後の表の内容が正しくない問題が修正されました。
Bug SPIREDOC-8661 WordをPDFに変換すると画像が失われる問題が修正されました。
Bug SPIREDOC-8781 HTMLをWordに変換する際にプログラムがハングアップしていた問題が修正されました。
Bug SPIREDOC-8841 テキストを置き換えると文字の間隔が変わる問題を修正しました。
Bug SPIREDOC-8891 埋め込まれたOLEオブジェクトのファイル名がヘブライ語の場合にファイル名が文字化けしてしまう問題が修正されました。
ここで Spire.Doc 10.12.4をダウンロードする

ハイパーリンクは、クリックするだけでファイルやウェブサイト、電子メール、ドキュメントの特定の位置に移動できるため、発表資料やワークブックなどのドキュメントに広く使用されています。Office 文書では、テキストや画像にハイパーリンクを追加することができます。そして、ハイパーリンクを持つテキストは、通常、ユーザーがハイパーリンクに気付くことができるように、通常のテキストとは異なる形式になっています。今回は、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>12.8.4</version>
    </dependency>
</dependencies>

Excel ワークブックにテキストのハイパーリンクを挿入する

Excel ワークブックにテキストのハイパーリンクを挿入するには、Worksheet.getRange().get() で特定のセルを取得し、Worksheet.getHyperlinks().add() メソッドでハイパーリンクをそのセルに挿入することが必要です。詳細な手順は以下の通りです。

  • Workbook クラスのインスタンスを作成します。
  • Workbook.getWorksheets().get() メソッドを使用して、ワークシートを取得します。
  • Worksheet.getRange().get() メソッドを使って、ハイパーリンクを追加したい特定のセルにアクセスします。
  • Worksheet.getHyperLinks().add() メソッドを使用して、セルにハイパーリンクを追加します。
  • XlsHyperLink.setType()XlsHyperLink.setTextToDisplay()XlsHyperLink.setAddress() メソッドを使用してハイパーリンクのタイプ、表示文字、アドレスを指定します。
  • XlsWorksheet.autoFitColumn() メソッドを使用して、列幅の自動調整を行います。
  • Workbook.saveToFile() メソッドを使用して、結果ファイルを保存します。
  • Java
import com.spire.xls.*;

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

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

        //ウェブサイトへリンクするテキストのハイパーリンクを追加する
        CellRange cell1 = sheet.getRange().get("B3");
        HyperLink urlLink = sheet.getHyperLinks().add(cell1);
        urlLink.setType(HyperLinkType.Url);
        urlLink.setTextToDisplay("ウェブサイトへのリンク");
        urlLink.setAddress("https://www.google.com/");

        //電子メールにリンクするテキストのハイパーリンクを追加する
        CellRange cell2 = sheet.getRange().get("E3");
        HyperLink mailLink = sheet.getHyperLinks().add(cell2);
        mailLink.setType(HyperLinkType.Url);
        mailLink.setTextToDisplay("電子メールへのリンク");
        mailLink.setAddress("mailto:このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。");

        //外部ファイルへリンクするテキストのハイパーリンクを追加する
        CellRange cell3 = sheet.getRange().get("B7");
        HyperLink fileLink = sheet.getHyperLinks().add(cell3);
        fileLink.setType(HyperLinkType.File);
        fileLink.setTextToDisplay("外部ファイルへのリンク");
        fileLink.setAddress("C:\\報告書.xlsx");

        //他のシートのセルにリンクするテキストのハイパーリンクを追加する
        CellRange cell4 = sheet.getRange().get("E7");
        HyperLink linkToSheet = sheet.getHyperLinks().add(cell4);
        linkToSheet.setType(HyperLinkType.Workbook);
        linkToSheet.setTextToDisplay("シート2のセルへのリンク");
        linkToSheet.setAddress("Sheet2!B5");

        //UNCのアドレスにリンクするテキストのハイパーリンクを追加する
        CellRange cell5 = sheet.getRange().get("B11");
        HyperLink uncLink = sheet.getHyperLinks().add(cell5);
        uncLink.setType(HyperLinkType.Unc);
        uncLink.setTextToDisplay("UNCアドレスへのリンク");
        uncLink.setAddress("\\\\192.168.0.1");

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

        //ファイルを保存する
        workbook.saveToFile("テキストのハイパーリンク.xlsx", ExcelVersion.Version2013);
    }
}

Java:Excel ワークブックにハイパーリンクを挿入する方法

Excel ワークブックに画像のハイパーリンクを挿入する

Excel ワークブックに画像のハイパーリンクを挿入するには、画像を挿入または取得し、XlsBitmapShape.setHyperLink() メソッドを使って画像にハイパーリンクを追加する必要があります。詳細な手順は以下の通りです。

  • Workbook クラスのインスタンスを作成します。
  • Workbook.getWorksheets().get() メソッドを使用して、ワークシートを取得します。
  • Worksheet.getPictures().add() メソッドを使用して、ワークシートに画像を挿入し、列の幅と行の高さを設定します。
  • XlsBitmapShape.setHyperLink() メソッドを使用して、画像にハイパーリンクを追加します。
  • Workbook.saveToFile() メソッドで結果ファイルを保存します。
  • Java
import com.spire.xls.ExcelPicture;
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

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

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

        //ワークシートに画像を挿入する
        ExcelPicture picture = sheet.getPictures().add(5, 3, "Spire.XLS for Java.png");
        sheet.setRowHeight(5,60);
        sheet.setColumnWidth(3,11);

        //画像にハイパーリンクを追加する
        picture.setHyperLink("https://www.e-iceblue.com", true);

        //結果ファイルを保存する
        workbook.saveToFile("画像のハイパーリンク.xlsx", ExcelVersion.Version2013);
    }
}

Java:Excel ワークブックにハイパーリンクを挿入する方法

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

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

Spire.PDF 8.12.7のリリースを発表できることを嬉しく思います。このバージョンでは、PDFからWordに変換する新しいインタフェースが追加されました。今回の更新では、PDFからExcelへの変換機能も強化されました。また、このリリースでは、位置によって検出されたテキストの内容が正しくないなど、多くの既知の問題が修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature - PDFをWordに変換する新しいインタフェースが追加されました。
PdfToWordConverter converter= new PdfToWordConverter (inputPDF);
converter.SaveToDocx(outputWord);
converter.Dispose(); 
Bug SPIREPDF-5580 PDFをExcelに変換した後に画像が失われていた問題が修正されました。
Bug SPIREPDF-5600 位置によって検出されたテキストの内容が正しくない問題が修正されました。
Bug SPIREPDF-5616 ドキュメントをマージするときにプログラムが「Badly formed dictionary next should be a name. before 377658」をスローする問題が修正されました。
Bug SPIREPDF-5654 pdfDocument.InsertPageメソッドを使用してドキュメントをマージする際にプログラムが「System.StackOverflowException」をスローする問題が修正されました。
Bug SPIREPDF-5655 PDFをExcelに変換した後に箇条書きが正しく表示されなかった問題が修正されました。
Bug SPIREPDF-5656 MS ExcelツールでPDFをExcelに変換した後に、結果ドキュメントを開くのに失敗する問題が修正されました。
Bug SPIREPDF-5667 ドキュメントをマージする際にプログラムが「com.spire.pdf.packages.sprnsn cannot be cast to com.spire.pdf.packages.sprvqe」をスローする問題問題が修正されました。
Bug SPIREPDF-5680 ドイツ語のシステム環境下でPDFコンテンツが不完全に印刷されていた問題が修正されました。
ここで Spire.PDF 8.12.7をダウンロードする

電子文書では透かしを使用して著作権を保護したり、状態を指定したりすることがよくあります。Microsoft Excel には 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

C# と VB.NET で Excel に透かしを追加する

ヘッダー画像を作成するために、DrawWatermarkImage() というカスタムの方法を定義しました。この方法では、文字列(機密、ドラフト、内部使用などの透かしとして表示するテキスト)に基づいてカスタムの画像を生成できます。画像を生成したら、Worksheet.PageSetup.LeftHeaderImageWorksheet.PageSetup.LeftHeader プロパティを使用して、画像をワークシートのヘッダーのセクションに追加できます。詳細な手順は次のとおりです。

  • Workbook クラスのインスタンスを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルをロードします。
  • フォントを作成し、テキストを定義します。
  • Excel 内のすべてのワークシートをループします。
  • DrawWatermarkImage() メソッドを使用して、テキストに基づいて透かしの画像を作成します。
  • Worksheet.PageSetup.LeftHeaderImage プロパティを使用して、各ワークシートの左側のヘッダーの画像ソースとして画像を設定します。
  • Worksheet.PageSetup.LeftHeader プロパティを 「&G」 に設定して、左側のヘッダーのセクションに画像を表示します
  • シートのビューモードを透かしを見るためのページレイアウトに変更します。
  • Workbook.SaveToFile() メソッドを使用して結果ファイルを保存します。
  • C#
  • VB.NET
using Spire.Xls;
using System.Drawing;

namespace AddWatermark
{
    class Program
    {
        static void Main(string[] args)
        {
            //Workbookクラスのインスタンスを初期化し、Excelファイルをロードする
            Workbook workbook = new Workbook();
            workbook.LoadFromFile(@"Sample.xlsx");

            //フォントを作成する
            Font font = new Font("Arial", 40);
            //テキストを定義する
            string watermark = "機密";

            //ファイル内のすべてのシートをループする
            foreach (Worksheet sheet in workbook.Worksheets)
            {
                //DrawWatermarkImage()メソッドを使用して、テキストに基づいて画像を作成する
                Image imgWtrmrk = DrawWatermarkImage(watermark, font, Color.LightCoral, Color.White, sheet.PageSetup.PageHeight, sheet.PageSetup.PageWidth);

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

                //シートのビューモードを透かしを見るためのページレイアウトに変更する
                sheet.ViewMode = ViewMode.Layout;
            }

            ///結果ファイルを保存する
            workbook.SaveToFile("AddWatermark.xlsx", ExcelVersion.Version2013);
        }

        private static Image DrawWatermarkImage(string text, Font font, Color textColor, Color backColor, double height, double width)
        {
            //指定した幅と高さの画像を作成する
            Image img = new Bitmap((int)width, (int)height);
            //画像からグラフィックのオブジェクトを作成する
            Graphics drawing = Graphics.FromImage(img);

            //テキストのサイズを取得する
            SizeF textSize = drawing.MeasureString(text, font);

            //指定されたトランスレーションをグラフィックの変換マトリックスに前置きして座標系の原点を変更する
            drawing.TranslateTransform(((int)width - textSize.Width) / 2, ((int)height - textSize.Height) / 2);

            //ローテーションを適用する
            drawing.RotateTransform(-45);

            //指定されたトランスレーションをグラフィックの変換マトリックスに前置きして座標系の原点を変更する
            drawing.TranslateTransform(-((int)width - textSize.Width) / 2, -((int)height - textSize.Height) / 2);

            //背景をペイントする
            drawing.Clear(backColor);

            //テキストのブラシを作成する
            Brush textBrush = new SolidBrush(textColor);

            //グラフィックの中心にテキストを描画する
            drawing.DrawString(text, font, textBrush, ((int)width - textSize.Width) / 2, ((int)height - textSize.Height) / 2);
            drawing.Save();
            return img;
        }
    }
}
Imports Spire.Xls
Imports System.Drawing

Namespace AddWatermark
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            'Workbookクラスのインスタンスを初期化し、Excelファイルをロードする
            Dim workbook As Workbook = New Workbook()
            workbook.LoadFromFile("Sample.xlsx")

            'フォントを作成する
            Dim font As Font = New Font("Arial", 40)
            'テキストを定義する
            Dim watermark = "機密"

            'ファイル内のすべてのシートをループする 
            For Each sheet As Worksheet In workbook.Worksheets
                'DrawWatermarkImage()メソッドを呼び出してテキストに基づいて画像を作成する
                Dim imgWtrmrk As Image = DrawWatermarkImage(watermark, font, Color.LightCoral, Color.White, sheet.PageSetup.PageHeight, sheet.PageSetup.PageWidth)

                '各シートの左ヘッダーのセクションに画像を追加する
                sheet.PageSetup.LeftHeaderImage = imgWtrmrk
                sheet.PageSetup.LeftHeader = "&G"

                'シートのビューモードを透かしを見るためのページレイアウトに変更する
                sheet.ViewMode = ViewMode.Layout
            Next

            '結果ファイルを保存する 
            workbook.SaveToFile("AddWatermark.xlsx", ExcelVersion.Version2013)
        End Sub

        Private Shared Function DrawWatermarkImage(ByVal text As String, ByVal font As Font, ByVal textColor As Color, ByVal backColor As Color, ByVal height As Double, ByVal width As Double) As Image
            '指定した幅と高さの画像を作成する 
            Dim img As Image = New Bitmap(width, height)
            '画像からグラフィックのオブジェクトを作成する
            Dim drawing As Graphics = Graphics.FromImage(img)

            'テキストのサイズを取得する
            Dim textSize As SizeF = drawing.MeasureString(text, font)

            '指定されたトランスレーションをグラフィックの変換マトリックスに前置きして座標系の原点を変更する
            drawing.TranslateTransform((CInt(width) - textSize.Width) / 2, (CInt(height) - textSize.Height) / 2)

            'ローテーションを適用する
            drawing.RotateTransform(-45)

            '指定されたトランスレーションをグラフィックの変換マトリックスに前置きして座標系の原点を変更する
            drawing.TranslateTransform(-(CInt(width) - textSize.Width) / 2, -(CInt(height) - textSize.Height) / 2)

            '背景をペイントする
            drawing.Clear(backColor)

            'テキストのブラシを作成する
            Dim textBrush As Brush = New SolidBrush(textColor)

            'グラフィックの中心にテキストを描画する
            drawing.DrawString(text, font, textBrush, (CInt(width) - textSize.Width) / 2, (CInt(height) - textSize.Height) / 2)
            drawing.Save()
            Return img
        End Function
    End Class
End Namespace

C#/VB.NET:Excel に透かしを追加する方法

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

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