チュートリアル
簡単にライブラリーを使用するためのチュートリアルコレクション
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に変換した後にテキストが失われていた問題が修正されました。 |
PowerPoint ドキュメントと比較して、画像ファイルは、特定のソフトウェアを必要とせずに、ほぼすべてのデバイスで開くことができるため、表示しやすくなっています。PowerPoint ドキュメントをさまざまなデバイスで利用できるようにしたい場合、画像に変換することができます。今回は、Spire.Presentation for Java を使用して、Java で PowerPoint ドキュメントをさまざまな画像形式に変換する方法を説明します。
まず、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 画像に変換する手順は次のとおりです。
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));
}
}
}
PowerPoint ドキュメントを TIFF 画像に変換する手順は次のとおりです。
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);
}
}
PowerPoint ドキュメントを SVG 画像に変換する手順を説明します。
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);
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
会社の毎月の支出に関する Word レポートを作成するときは、Excel の財務データをそのレポートにコピーできます。これにより、別の Excel ドキュメントを開くことなく、レポート内の関連データを直接表示できます。この記事では、Spire.Office for .NET を使用して、C# および VB.NET でプログラムによってフォーマットされた Excel データを Word テーブルに変換する方法を紹介します。
まず、Spire.Office for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.Office
Spire.Office for .NET を使用してフォーマットされた Excel データを Word テーブルにエクスポートする手順を次に示します。
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
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Word でレポートを作成するときは、Excel からデータをコピーして Word に貼り付ける必要があることがよくあります。これにより、Excel ドキュメントを開くことなく、読者が Word でデータを直接参照できます。この記事では、Spire.Office for Java を使用してフォーマットされた Excel データを Word テーブルにエクスポートする方法を紹介します。
まず、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>
Spire.Office for Java を使用してフォーマットされた Excel データを Word テーブルにエクスポートする手順を次に示します。
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;
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Spire.Presentation 7.10.2 のリリースを発表できることをうれしく思います。このバージョンでは、グラフデータが「行と列の切り替え」機能を使用しているかどうかの検出をサポートしました。 同時に、PPT を PDF に変換した後の背景色が正しくない問題も修正されました。詳細は以下の内容を読んでください。
カテゴリー | ID | 説明 |
New feature | - | グラフデータが「行と列の切り替え」機能を使用しているかどうかの検出をサポートしました。
bool result = chart.IsSwitchRowAndColumn(); |
Bug | SPIREPPT-2064 | PPT を PDF に変換した後の背景色が正しくない問題も修正されました。 |
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、および画像への変換機能が強化されました。さらに、多くの既知のバグが正常に修正されました。詳細は以下の内容を読んでください。
カテゴリー | 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で結果ドキュメントを開いたときに、追加された値が英字(または数字を含む英字)のカスタムプロパティが見えない問題が修正されました。 |
カテゴリー | 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 を画像に変換した後、内容が文字化けしてしまう問題が修正されました。 |
カテゴリー | 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 を画像に変換するときに、評価警告ウォーターマークが不完全に表示される問題を修正しました。 |
カテゴリー | 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で結果ドキュメントを開いたときに、追加された値が英字(または数字を含む英字)のカスタムプロパティが見えない問題が修正されました。 |
Excel でデータの入力規則は、ワークシートに入力されるデータ型を制限するのに役立ちます。つまり、特定のセルに入力された値は、そのセルに設定された条件を満たす必要があります。たとえば、データの入力規則を作成することで、セルを整数のみを受け入れるように制限できます。この記事では、Spire.XLS for Java を使用して Excel でデータの入力規則の適用と削除方法を紹介します。
まず、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>
詳細な手順は次のとおりです。
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);
}
}
詳細な手順は次のとおりです。
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");
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Excel ドロップダウンリストはデータ検証機能です。この機能は、指定されたセルに入力されたデータを制限し、事前定義された値セットから値を選択する必要があります。この記事では、Spire.XLS for .NET を使用して、C# および VB.NET でプログラムによって Excel でドロップダウンリストを作成する方法を紹介します。
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
Spire.XLS for .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
Excel では値リストを手動で入力することでドロップダウンリストを作成できます。この方法では、Excel セルにデータを追加しないようにして、Excel ドキュメントの整然とした順序を保つことができます。以下は具体的な操作手順です。
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
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するには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 を画像に変換するときに、評価警告ウォーターマークが不完全に表示される問題を修正しました。 |