チュートリアル
簡単にライブラリーを使用するためのチュートリアルコレクション
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 日間有効な一時ライセンスを取得してください。
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.8.4</version>
</dependency>
</dependencies>
詳細な手順は次のとおりです。
import com.spire.xls.*;
public class ExcelToImage {
public static void main(String[] args){
// Workbookインスタンスを作成する
Workbook workbook = new Workbook();
// Excelサンプルドキュメントをロードする
workbook.loadFromFile("sample.xlsx");
//最初のワークシートを取得する
Worksheet sheet = workbook.getWorksheets().get(0);
//ワークシートをイメージに変換する
sheet.saveToImage("output/SheetToImage.png");
}
}
Spire.XLS for Java は、Worksheet.toImage (int firstRow,int firstColumn,int lastRow,int lastColumn) メソッドを使用して特定のセル範囲をイメージに変換することをサポートしています。詳細な手順を以下に示します。
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.*;
public class SpecificCellsToImage {
public static void main(String[] args) throws IOException {
//Workbookインスタンスを作成する
Workbook workbook = new Workbook();
//Excelサンプルドキュメントをロードする
workbook.loadFromFile("sample.xlsx");
//最初のワークシートを取得する
Worksheet sheet = workbook.getWorksheets().get(0);
//特定のセル範囲をButteredImageオブジェクトに変換する
BufferedImage bufferedImage = sheet.toImage(1, 1, 8, 4);
//BufferedImageオブジェクトを.pngイメージに保存する
ImageIO.write(bufferedImage,"PNG",new File("output/specificCellsToImage.png"));
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
多くの場合、Excel を PDF に変換するのは一般的な方法です。送信ドキュメントのフォーマットとして PDF を使用することで、元のドキュメントのフォーマットが変化しないことを確認できます。この記事では、Spire.XLS for Java を使用して Excel を PDF に変換する方法を紹介します。
まず、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.7.4</version>
</dependency>
</dependencies>
詳細な手順は次のとおりです。
import com.spire.xls.FileFormat;
import com.spire.xls.Workbook;
public class ConvertExcelToPdf {
public static void main(String[] args) {
//Workbookインスタンスを作成する
Workbook workbook = new Workbook();
//Excelファイルをロードする
workbook.loadFromFile("Sample.xlsx");
//変換したPDFページのサイズをシートの内容サイズに合わせるように設定します
workbook.getConverterSetting().setSheetFitToPage(true);
//生成されたドキュメントを指定されたパスに保存する
workbook.saveToFile("output/ExcelToPdf.pdf", FileFormat.PDF);
}
}
詳細な手順は次のとおりです。
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class ConvertWorksheetToPdf {
public static void main(String[] args) {
//Workbookインスタンスを作成する
Workbook workbook = new Workbook();
//Excelファイルをロードする
workbook.loadFromFile("Sample.xlsx");
//変換したPDFのページ幅をワークシートの内容幅に合わせて設定する
workbook.getConverterSetting().setSheetFitToWidth(true);
//最初のシートの取得する
Worksheet worksheet = workbook.getWorksheets().get(0);
//生成されたドキュメントを指定されたパスに保存する
worksheet.saveToPdf("output/WorksheetToPdf.pdf");
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
XPS(XML Paper Specification)は、共有および公開の目的で設計された固定レイアウトのドキュメント形式です。この形式は元々 PDF ファイル形式に代わる試みとして作成されましたが、いくつかの理由で失敗しました。とにかく、XPS ファイル形式がまだ使用されている場合もあり、Excel ファイルを XPS ファイルに変換する必要がある場合もあります。この記事では、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>4.11.2</version>
</dependency>
</dependencies>
Spire.XLS for Java が提供する Workbook.saveToFile() メソッドを使用すると、わずか数行のコードで Excel ファイルを XPS に簡単に変換できます。詳細な手順は次のとおりです。
import com.spire.xls.*;
public class toXPS {
public static void main(String[] args) {
//ワークブックインスタンスを作成する
Workbook workbook = new Workbook();
//Excelドキュメントをロードする
workbook.loadFromFile("C:\\Users\\Administrator\\Desktop\\test.xlsx");
//ExcelをXPSに変換する
workbook.saveToFile("ToXPS.xps", FileFormat.XPS);
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。