チュートリアル
簡単にライブラリーを使用するためのチュートリアルコレクション
Excel のレーダーグラフ(スパイダーグラフまたはウェブグラフとも呼ばれる)は、複数のデータ系列を異なるカテゴリで比較するために使用されます。このグラフではデータポイントを複数軸上にプロットすることで、データのバランスや偏りを直感的かつ明確に表現できます。そのため、パフォーマンス指標の可視化、市場分析、および多次元の比較が必要な状況に特に適しています。本記事では、C# で Spire.XLS for .NET を使用して Excel でレーダーグラフを作成する方法を解説します。
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
Spire.XLS for .NET は、Worksheet.Charts.Add(ExcelChartType.Radar) メソッドを提供しており、これを使用して Excel ワークシートに標準的なレーダーグラフを追加できます。以下は詳細な手順です。
using Spire.Xls;
using System.Drawing;
namespace ExcelRadarChart
{
class Program
{
static void Main(string[] args)
{
// Workbookのインスタンスを作成
Workbook workbook = new Workbook();
// 最初のワークシートを取得
Worksheet sheet = workbook.Worksheets[0];
// 指定したセルにグラフデータを追加
sheet.Range["A1"].Value = "評価";
sheet.Range["A2"].Value = "コミュニケーション";
sheet.Range["A3"].Value = "経験";
sheet.Range["A4"].Value = "作業効率";
sheet.Range["A5"].Value = "リーダーシップ";
sheet.Range["A6"].Value = "問題解決";
sheet.Range["A7"].Value = "チームワーク";
sheet.Range["B1"].Value = "ジョナサン";
sheet.Range["B2"].NumberValue = 4;
sheet.Range["B3"].NumberValue = 3;
sheet.Range["B4"].NumberValue = 4;
sheet.Range["B5"].NumberValue = 3;
sheet.Range["B6"].NumberValue = 5;
sheet.Range["B7"].NumberValue = 5;
sheet.Range["C1"].Value = "ライアン";
sheet.Range["C2"].NumberValue = 2;
sheet.Range["C3"].NumberValue = 5;
sheet.Range["C4"].NumberValue = 4;
sheet.Range["C5"].NumberValue = 4;
sheet.Range["C6"].NumberValue = 3;
sheet.Range["C7"].NumberValue = 3;
// フォントスタイルを設定
sheet.Range["A1:C1"].Style.Font.IsBold = true;
sheet.Range["A1:C1"].Style.Font.Size = 11;
sheet.Range["A1:C1"].Style.Font.Color = Color.White;
// 行の高さと列の幅を設定
sheet.Rows[0].RowHeight = 20;
sheet.Range["A1:C7"].Columns[0].ColumnWidth = 15;
// セルスタイルを設定
sheet.Range["A1:C1"].Style.Color = Color.DarkBlue;
sheet.Range["A2:C7"].Borders[BordersLineType.EdgeBottom].LineStyle = LineStyleType.Thin;
sheet.Range["A2:C7"].Style.Borders[BordersLineType.EdgeBottom].Color = Color.DarkBlue;
sheet.Range["B1:C7"].HorizontalAlignment = HorizontalAlignType.Center;
sheet.Range["A1:C7"].VerticalAlignment = VerticalAlignType.Center;
// ワークシートにレーダーチャートを追加
Chart chart = sheet.Charts.Add(ExcelChartType.Radar);
// グラフの位置を設定
chart.LeftColumn = 4;
chart.TopRow = 4;
chart.RightColumn = 14;
chart.BottomRow = 29;
// グラフのデータ範囲を設定
chart.DataRange = sheet.Range["A1:C7"];
chart.SeriesDataFromRange = false;
// グラフタイトルを設定
chart.ChartTitle = "従業員パフォーマンス評価";
chart.ChartTitleArea.IsBold = true;
chart.ChartTitleArea.Size = 14;
// グラフの凡例の位置を設定
chart.Legend.Position = LegendPositionType.Corner;
// 結果のファイルを保存
workbook.SaveToFile("Excel のレーダーグラフの作成.xlsx", ExcelVersion.Version2016);
workbook.Dispose();
}
}
}
塗りつぶしレーダーグラフは標準的なレーダーグラフの一種で、データポイント間の領域が色で塗りつぶされている点が特徴です。以下は C# を使用して塗りつぶしレーダーグラフを作成する手順です。
using Spire.Xls;
using System.Drawing;
namespace ExcelRadarChart
{
class Program
{
static void Main(string[] args)
{
// Workbookのインスタンスを作成
Workbook workbook = new Workbook();
// 最初のワークシートを取得
Worksheet sheet = workbook.Worksheets[0];
// 指定したセルにグラフデータを追加
sheet.Range["A1"].Value = "評価";
sheet.Range["A2"].Value = "コミュニケーション";
sheet.Range["A3"].Value = "経験";
sheet.Range["A4"].Value = "作業効率";
sheet.Range["A5"].Value = "リーダーシップ";
sheet.Range["A6"].Value = "問題解決";
sheet.Range["A7"].Value = "チームワーク";
sheet.Range["B1"].Value = "ジョナサン";
sheet.Range["B2"].NumberValue = 4;
sheet.Range["B3"].NumberValue = 3;
sheet.Range["B4"].NumberValue = 4;
sheet.Range["B5"].NumberValue = 3;
sheet.Range["B6"].NumberValue = 5;
sheet.Range["B7"].NumberValue = 5;
sheet.Range["C1"].Value = "ライアン";
sheet.Range["C2"].NumberValue = 2;
sheet.Range["C3"].NumberValue = 5;
sheet.Range["C4"].NumberValue = 4;
sheet.Range["C5"].NumberValue = 4;
sheet.Range["C6"].NumberValue = 3;
sheet.Range["C7"].NumberValue = 3;
// フォントスタイルを設定
sheet.Range["A1:C1"].Style.Font.IsBold = true;
sheet.Range["A1:C1"].Style.Font.Size = 11;
sheet.Range["A1:C1"].Style.Font.Color = Color.White;
// 行の高さと列の幅を設定
sheet.Rows[0].RowHeight = 20;
sheet.Range["A1:C7"].Columns[0].ColumnWidth = 15;
// セルスタイルを設定
sheet.Range["A1:C1"].Style.Color = Color.DarkBlue;
sheet.Range["A2:C7"].Borders[BordersLineType.EdgeBottom].LineStyle = LineStyleType.Thin;
sheet.Range["A2:C7"].Style.Borders[BordersLineType.EdgeBottom].Color = Color.DarkBlue;
sheet.Range["B1:C7"].HorizontalAlignment = HorizontalAlignType.Center;
sheet.Range["A1:C7"].VerticalAlignment = VerticalAlignType.Center;
// ワークシートに塗りつぶしレーダーチャートを追加
Chart chart = sheet.Charts.Add(ExcelChartType.RadarFilled);
// グラフの位置を設定
chart.LeftColumn = 4;
chart.TopRow = 4;
chart.RightColumn = 14;
chart.BottomRow = 29;
// グラフのデータ範囲を設定
chart.DataRange = sheet.Range["A1:C7"];
chart.SeriesDataFromRange = false;
// グラフタイトルを設定
chart.ChartTitle = "従業員パフォーマンス評価";
chart.ChartTitleArea.IsBold = true;
chart.ChartTitleArea.Size = 14;
// グラフの凡例の位置を設定
chart.Legend.Position = LegendPositionType.Corner;
// 結果のファイルを保存
workbook.SaveToFile("Excelで塗りつぶしレーダーグラフを作成.xlsx", ExcelVersion.Version2016);
workbook.Dispose();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Excel ファイルは、データ管理、情報分析、レポート共有において、企業や個人、組織にとって欠かせないツールとなっています。しかし、Excel ドキュメントを手動で編集するのは、時間がかかるだけでなく、ミスが発生しやすい作業です。幸いにも、Spire.XLS for Java ライブラリを使用すれば、これらの作業を簡単に自動化でき、効率を向上させ、エラーを減らすことができます。
この記事では、Spire.XLS を使用して 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>14.12.0</version>
</dependency>
</dependencies>
Java で Excel ファイルを扱う際に最も一般的なタスクの一つが、データの読み取りと書き込みです。Spire.XLS for Java は、CellRange.getValue() および CellRange.setValue() メソッドを提供し、セルの値を簡単に取得したり設定したりできます。
Java を使って Excel ファイルを読み書きする手順は以下の通りです:
import com.spire.xls.CellRange;
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class ReadExcelData {
public static void main(String[] args) {
// Workbookオブジェクトを作成
Workbook workbook = new Workbook();
// Excelファイルを読み込む
workbook.loadFromFile("Sample.xlsx");
// 特定のワークシートを取得
Worksheet worksheet = workbook.getWorksheets().get(0);
// 特定のセルを取得
CellRange cell = worksheet.getCellRange("A1");
// セルの値を読み取る
String text = cell.getValue();
// セルの値が"Department"かどうかを確認
if (text.equals("出身地"))
{
// セルの値を更新
cell.setValue("居住地");
}
// 別のファイルにワークブックを保存
workbook.saveToFile("output/セル値の変更.xlsx", ExcelVersion.Version2016);
// リソースを解放
workbook.dispose();
}
}
Excel ドキュメントに書式設定を施すことは、プロフェッショナルな外観のレポートを作成する上で重要です。Spire.XLS for Java は、CellRange クラス内の API を利用して、フォントスタイル、色、セル背景、配置、および行の高さや列の幅を調整できます。
Excel セルにスタイルや書式を適用する手順は以下の通りです:
import com.spire.xls.*;
import java.awt.*;
public class ApplyFormattingExcel {
public static void main(String[] args) {
// Workbook オブジェクトを作成
Workbook workbook = new Workbook();
// Excel ファイルをロード
workbook.loadFromFile("Sample.xlsx");
// 特定のワークシートを取得
Worksheet worksheet = workbook.getWorksheets().get(0);
// ワークシートからすべての範囲を取得
CellRange allocatedRange = worksheet.getAllocatedRange();
// 行を繰り返し処理
for (int rowNum = 0; rowNum < allocatedRange.getRowCount(); rowNum++) {
if (rowNum == 0) {
// ヘッダー行にセルの色を適用
allocatedRange.getRows()[rowNum].getStyle().setColor(Color.black);
// ヘッダー行のフォントの色を変更
allocatedRange.getRows()[rowNum].getStyle().getFont().setColor(Color.white);
}
// 他の行に交互に色を適用
else if (rowNum % 2 == 1) {
allocatedRange.getRows()[rowNum].getStyle().setColor(Color.lightGray);
}
else {
allocatedRange.getRows()[rowNum].getStyle().setColor(Color.white);
}
// テキストを中央揃え
allocatedRange.getRows()[rowNum].setHorizontalAlignment(HorizontalAlignType.Center);
allocatedRange.getRows()[rowNum].setVerticalAlignment(VerticalAlignType.Center);
// 行の高さを設定
allocatedRange.getRows()[rowNum].setRowHeight(20);
}
// 列を繰り返し処理
for (int columnNum = 0; columnNum < allocatedRange.getColumnCount(); columnNum++) {
// 列の幅を設定
if (columnNum > 0) {
allocatedRange.getColumns()[columnNum].setColumnWidth(15);
}
}
// 内枠を追加する
allocatedRange.borderInside();
allocatedRange.getBorders().setColor(Color.WHITE);
// ワークブックを別名で保存
workbook.saveToFile("output/Excelの書式設定.xlsx", ExcelVersion.Version2016);
// リソースを解放
workbook.dispose();
}
}
検索と置換機能は、データ管理を簡素化し、生産性を向上させる便利な手法です。Spire.XLS for Java を使用すれば、Worksheet.findString() メソッドで特定の文字列を含むセルを迅速に見つけ、CellRange.setValue() メソッドでその値を置き換えることができます。
Java を使って Excel 内のテキストを検索して置換する手順は以下の通りです:
import com.spire.xls.CellRange;
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class FindAndReplaceExcel {
public static void main(String[] args) {
// Workbook オブジェクトを作成
Workbook workbook = new Workbook();
// Excel ファイルをロード
workbook.loadFromFile("Sample.xlsx");
// 特定のワークシートを取得
Worksheet worksheet = workbook.getWorksheets().get(0);
// 置換用の部署名を定義した配列
String[] items = new String[] { "No", "Name", "Age", "Occupation", "Birthplace", "Interests" };
// Excel シート内で置換されるプレースホルダーの配列を定義
String[] placeholders = new String[] { "番号", "名前", "年齢", "職業", "出身地", "趣味" };
// プレースホルダー文字列を繰り返し処理
for (int i = 0; i < placeholders.length; i++)
{
// 現在のプレースホルダー文字列を含むセルを検索
CellRange cell = worksheet.findString(placeholders[i], false, false);
// 見つかったセルのテキストを対応する部署名に置換
cell.setValue(items[i]);
}
// ワークブックを別名で保存
workbook.saveToFile("output/Excelの検索と置換.xlsx", ExcelVersion.Version2016);
// リソースを解放
workbook.dispose();
}
}
基本的なファイル操作に加え、Spire.XLS for Java は Excel ファイルを扱う高度な手法も提供します。これにより、複雑なタスクを自動化し、計算を実行し、動的なレポートを作成することが可能です。
Java を使用して Excel に数式を追加し、グラフを作成する手順は以下の通りです:
import com.spire.xls.*;
public class AddFormulaAndChartExcel {
public static void main(String[] args) {
// Workbook オブジェクトを作成
Workbook workbook = new Workbook();
// Excel ファイルをロード
workbook.loadFromFile("Sample.xlsx");
// 特定のワークシートを取得
Worksheet worksheet = workbook.getWorksheets().get(0);
// ワークシートからすべての範囲を取得
CellRange allocatedRange = worksheet.getAllocatedRange();
// 行を繰り返し処理
for (int rowNum = 0; rowNum < allocatedRange.getRowCount(); rowNum++) {
if (rowNum == 0) {
// E1セルにテキストを記入
worksheet.getRange().get(rowNum + 1, 5).setText("月間売上高");
// セルにスタイルを適用
worksheet.getRange().get(rowNum + 1, 5).getStyle().getFont().isBold(true);
worksheet.getRange().get(rowNum + 1, 5).getStyle().setHorizontalAlignment(HorizontalAlignType.Left);
} else {
// E2からE9までのセルに数式を追加
worksheet.getRange().get(rowNum + 1, 5).setFormula("=SUM(B" + (rowNum + 1) + ":C" + (rowNum + 1) + ")");
}
// 列の幅を自動調整
worksheet.autoFitColumn(6);
}
// クラスター化縦棒グラフを追加
Chart chart = worksheet.getCharts().add(ExcelChartType.ColumnClustered);
// グラフのデータ範囲を設定
chart.setDataRange(worksheet.getCellRange("A1:C9"));
chart.setSeriesDataFromRange(false);
// グラフの位置を設定
chart.setLeftColumn(1);
chart.setTopRow(11);
chart.setRightColumn(8);
chart.setBottomRow(22);
// グラフタイトルを設定およびフォーマット
chart.setChartTitle("販売動向");
chart.getChartTitleArea().setSize(12);
chart.getChartTitleArea().isBold(true);
// ワークブックを別名で保存
workbook.saveToFile("output/Excelに数式とグラフを追加.xlsx", ExcelVersion.Version2016);
// リソースを解放
workbook.dispose();
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
PDF のフォント情報を取得するとは、PDF ドキュメント内で使用されているフォントの詳細を抽出するプロセスを指します。この情報には、通常、フォント名、サイズ、種類、色、その他の属性が含まれます。これらの詳細を把握することで、一貫性や著作権の遵守、美観を確保するのに役立ちます。本記事では、C# で Spire.PDF for .NET を使用して PDF のフォント情報を取得する方法を解説します。
まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.PDF
Spire.PDF for .NET を使用すると、指定したテキストを検索し、フォント名、サイズ、スタイル、色といったフォントフォーマット情報を PdfTextFragment クラスのプロパティから取得できます。以下に詳細な手順を示します。
using Spire.Pdf;
using Spire.Pdf.Texts;
using System.Drawing;
using System.Text;
namespace GetTextFont
{
class Program
{
static void Main(string[] args)
{
// PdfDocumentインスタンスを作成
PdfDocument pdf = new PdfDocument();
// PDFファイルを読み込む
pdf.LoadFromFile("Sample.pdf");
// 最初のページを取得
PdfPageBase page = pdf.Pages[0];
// PdfTextFinderインスタンスを作成
PdfTextFinder finds = new PdfTextFinder(page);
// ページ内の指定テキストを検索
finds.Options.Parameter = TextFindParameter.None;
List result = finds.Find("珊瑚礁");
// StringBuilderインスタンスを作成
StringBuilder str = new StringBuilder();
// 検索結果を反復処理
foreach (PdfTextFragment find in result)
{
// 見つかったテキストを取得
string text = find.Text;
// フォント名を取得
string FontName = find.TextStates[0].FontName;
// フォントサイズを取得
float FontSize = find.TextStates[0].FontSize;
// フォントファミリを取得
string FontFamily = find.TextStates[0].FontFamily;
// ボールドまたはイタリックであるかを確認
bool IsBold = find.TextStates[0].IsBold;
bool IsSimulateBold = find.TextStates[0].IsSimulateBold;
bool IsItalic = find.TextStates[0].IsItalic;
// フォント色を取得
Color color = find.TextStates[0].ForegroundColor;
// フォント情報をStringBuilderに追加
str.AppendLine("テキスト: " + text);
str.AppendLine("フォント名: " + FontName);
str.AppendLine("フォントサイズ: " + FontSize);
str.AppendLine("フォントファミリ: " + FontFamily);
str.AppendLine("ボールド: " + IsBold);
str.AppendLine("疑似ボールド: " + IsSimulateBold);
str.AppendLine("イタリック: " + IsItalic);
str.AppendLine("フォント色: " + color);
str.AppendLine();
}
// 情報をテキストファイルに書き込む
File.WriteAllText("PDFフォント.txt", str.ToString());
pdf.Dispose();
}
}
}
Spire.PDF for .NET は、PDF ドキュメント内で使用されているフォントを表す PdfUsedFont クラスを提供しています。すべての使用フォントのフォーマットを取得するには、各フォントを反復処理して、対応するプロパティからフォント名、サイズ、種類、スタイルを取得します。以下に詳細な手順を示します。
using Spire.Pdf;
using Spire.Pdf.Graphics;
using Spire.Pdf.Graphics.Fonts;
using System.IO;
using System.Text;
namespace GetPdfFont
{
class Program
{
static void Main(string[] args)
{
// PdfDocumentインスタンスを作成
PdfDocument pdf = new PdfDocument();
// PDFファイルを読み込む
pdf.LoadFromFile("Sample.pdf");
// PDFファイルで使用されているフォントを取得
PdfUsedFont[] fonts = pdf.UsedFonts;
// StringBuilderインスタンスを作成
StringBuilder str = new StringBuilder();
// 使用フォントを反復処理
foreach (PdfUsedFont font in fonts)
{
// フォント名を取得
string name = font.Name;
// フォントサイズを取得
float size = font.Size;
// フォントタイプを取得
PdfFontType type = font.Type;
// フォントスタイルを取得
PdfFontStyle style = font.Style;
// フォント情報をStringBuilderに追加
str.AppendLine($"フォント名: {name}, フォントサイズ: {size}\nフォントタイプ: {type}, フォントスタイル: {style}\n\n");
}
// 情報をテキストファイルに書き込む
File.WriteAllText("PDFフォント情報.txt", str.ToString());
pdf.Close();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
XML は異なるシステム間でデータを交換するためによく使用されます。一方、Excel はデータ分析やレポート作成のための広く認識された形式です。XML データを Excel に変換することで、Excel の強力な機能を活用してデータをより効果的に分析し、視覚化できます。この変換プロセスは、金融、医療、e コマースなど、さまざまな業界で重要です。
この記事では、Spire.XLS for .NET を使用して C# で XML を Excel および PDF に変換する方法を学びます。
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
XML を Excel に変換する前に、XML ファイルの構造を理解することが重要です。XML は、タグを使用して要素、属性、データを定義するマークアップ言語です。これらのコンポーネントを以下のように分類できます。
<person>
<name>鈴木美咲</name>
<age>30</age>
</person>
<person id="1">
<name>鈴木美咲</name>
<age>30</age>
</person>
.NET では、XML ファイルを操作するためのクラスを提供する System.Xml.Linq 名前空間を使用できます。主に使用されるクラスは XDocument で、XML ドキュメントを簡単に読み込み、操作できます。
以下はその例です:
using System;
using System.Xml.Linq;
class Program
{
static void Main()
{
// XMLファイルを読み込む
XDocument doc = XDocument.Load("data.xml");
XElement root = doc.Root;
// 要素を繰り返し処理する
foreach (XElement person in root.Elements("person"))
{
string name = person.Element("name")?.Value;
string age = person.Element("age")?.Value;
// 名前と年齢を出力
Console.WriteLine($"名前: {name}, 年齢: {age}");
}
}
}
ML データを解析した後、次はそのデータを Excel ワークシートにマッピングします。Spire.XLS for .NET を使用して、新しいワークブックを作成し、特定のセルにデータを入力し、さまざまなスタイルや書式設定を適用できます。これには、列の幅を自動調整、テキストの配置調整、ヘッダーを太字にすることが含まれます。
C# で XML を Excel に変換する手順は以下の通りです:
以下のコードは、XML データを読み取り、それを Excel ファイルにインポートする効率的で高度な方法を示しています。
using Spire.Xls;
using System.Xml.Linq;
namespace ConvertXmlToExcel
{
class Program
{
static void Main(string[] args)
{
// Workbookオブジェクトを作成
Workbook workbook = new Workbook();
// デフォルトのワークシートを削除
workbook.Worksheets.Clear();
// ワークシートを追加し、名前を付ける
Worksheet worksheet = workbook.Worksheets.Add("Books");
// XMLファイルを読み込む
XDocument xmlDoc = XDocument.Load("Sample.xml");
XElement xmlRoot = xmlDoc.Root;
// 最初の"book"要素を取得
XElement firstBook = xmlRoot.Element("book");
// ヘッダー情報を抽出してリストに変換
var headers = firstBook.Elements().ToList();
// ヘッダーをExcelに書き込む
for (int colIndex = 0; colIndex < headers.Count; colIndex++)
{
string headerText = headers[colIndex].Name.LocalName;
worksheet.SetValue(1, colIndex + 1, headerText);
}
// 他のデータをExcelに書き込む
int rowIndex = 2;
foreach (XElement book in xmlRoot.Elements("book"))
{
var dataNodes = book.Elements().ToList();
for (int colIndex = 0; colIndex < dataNodes.Count; colIndex++)
{
string value = dataNodes[colIndex].Value;
worksheet.SetValue(rowIndex, colIndex + 1, value);
}
rowIndex++;
}
// 列の幅を自動調整
worksheet.AllocatedRange.AutoFitColumns();
// 配置を設定
worksheet.AllocatedRange.HorizontalAlignment = HorizontalAlignType.Left;
// フォントスタイルを設定
worksheet.Range["A1:F1"].Style.Font.IsBold = true;
// Excelファイルとして保存
workbook.SaveToFile("output/XMLToExcel.xlsx");
// リソースを解放
workbook.Dispose();
}
}
}
前の例では、XML ファイルからデータを Excel ワークシートにインポートする方法を示しました。このワークシートは、その後、Worksheet.SaveToPdf() メソッドを使用して PDF ファイルに変換できます。PDF を構造的に整えるために、ページレイアウト設定(マージンやグリッド線の保持など)を調整することが必要です。
XML を PDF に変換する手順は以下の通りです:
以下のコードスニペットは、XML データをワークシートにインポートし、その後、そのワークシートを PDF ファイルとして保存する方法を示しています。
using Spire.Xls;
using Spire.Xls.Core;
using System.Xml.Linq;
namespace ConvertXmlToPdf
{
class Program
{
static void Main(string[] args)
{
// Workbookオブジェクトを作成
Workbook workbook = new Workbook();
// デフォルトのワークシートを削除
workbook.Worksheets.Clear();
// ワークシートを追加し、名前を付ける
Worksheet worksheet = workbook.Worksheets.Add("Books");
// XMLファイルを読み込む
XDocument xmlDoc = XDocument.Load("Sample.xml");
XElement xmlRoot = xmlDoc.Root;
// 最初の"book"要素を取得
XElement firstBook = xmlRoot.Element("book");
// ヘッダー情報を抽出してリストに変換
var headers = firstBook.Elements().ToList();
// ヘッダーをExcelに書き込む
for (int colIndex = 0; colIndex < headers.Count; colIndex++)
{
string headerText = headers[colIndex].Name.LocalName;
worksheet.SetValue(1, colIndex + 1, headerText);
}
// 他のデータをExcelに書き込む
int rowIndex = 2;
foreach (XElement book in xmlRoot.Elements("book"))
{
var dataNodes = book.Elements().ToList();
for (int colIndex = 0; colIndex < dataNodes.Count; colIndex++)
{
string value = dataNodes[colIndex].Value;
worksheet.SetValue(rowIndex, colIndex + 1, value);
}
rowIndex++;
}
// 列の幅を自動調整
worksheet.AllocatedRange.AutoFitColumns();
// 配置を設定
worksheet.AllocatedRange.HorizontalAlignment = HorizontalAlignType.Left;
// フォントスタイルを設定
worksheet.Range["A1:F1"].Style.Font.IsBold = true;
// ページ設定を行う
workbook.ConverterSetting.SheetFitToPage = true;
PageSetup pageSetup = worksheet.PageSetup;
pageSetup.TopMargin = 0.3;
pageSetup.BottomMargin = 0.3;
pageSetup.LeftMargin = 0.3;
pageSetup.RightMargin = 0.3;
// グリッド線を保持
pageSetup.IsPrintGridlines = true;
// PDFとして保存
worksheet.SaveToPdf("output/XMLToPDF.pdf");
// リソースを解放
workbook.Dispose();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
C# でのストリーム操作を使用することで、開発者は Excel ファイルを動的に作成、読み込み、保存することができ、柔軟かつ効率的なデータ処理が可能になります。この方法では、物理的なファイルストレージが不要になり、アプリケーションのパフォーマンスと応答性が向上します。リアルタイムでのデータ操作やストレージに制限のある環境に最適で、データ交換やシステム統合を簡素化します。本記事では、Spire.XLS for .NET を使用して、C# でのストリームを介した Excel ファイルの作成、読み込み、編集、保存方法を示し、アジャイルでスケーラブルなデータ管理ソリューションを提供します。
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
Spire.XLS for .NET を使用すると、開発者は Workbook オブジェクトを初期化し、データやフォーマットを埋め込んでから、Workbook.SaveToStream() メソッドを使用してワークブックをストリームに保存することで、メモリ内で Excel ファイルを動的に作成できます。この方法では、物理的なファイルストレージが不要になり、アプリケーションのパフォーマンスと応答性が向上します。
以下は、C# で Excel ファイルを作成し、ストリームに保存する手順です:
using Spire.Xls;
using System.Data;
using System.Drawing;
namespace CreateExcelStream
{
class Program
{
static void Main(string[] args)
{
// 新しいワークブックインスタンスを作成
Workbook workbook = new Workbook();
// ワークブックの最初のワークシートにアクセス
Worksheet sheet = workbook.Worksheets[0];
// サンプルデータを含むDataTableを作成してデータを追加
DataTable dataTable = new DataTable("データ");
dataTable.Columns.Add("ID", typeof(int));
dataTable.Columns.Add("名前", typeof(string));
dataTable.Columns.Add("年齢", typeof(int));
dataTable.Columns.Add("国", typeof(string));
dataTable.Columns.Add("給与 ($)", typeof(decimal));
dataTable.Rows.Add(101, "ジョン・スミス", 28, "アメリカ", 54000m);
dataTable.Rows.Add(102, "マリア・ガルシア", 34, "日本", 65500m);
dataTable.Rows.Add(103, "リアム・ジョンソン", 22, "カナダ", 48000m);
dataTable.Rows.Add(104, "エマ・ブラウン", 30, "オーストラリア", 72300m);
dataTable.Rows.Add(105, "ウェイ・チャン", 40, "中国", 58700m);
dataTable.Rows.Add(106, "ソフィア・ロペス", 26, "メキシコ", 45200m);
// DataTableからワークシートにデータを挿入
sheet.InsertDataTable(dataTable, true, 1, 1);
// ワークシートをフォーマット
// ヘッダー行をスタイル設定
sheet.Rows[0].Style.Color = Color.LightSkyBlue;
sheet.Rows[0].Style.Font.FontName = "Yu Gothic UI";
sheet.Rows[0].Style.Font.Size = 12f;
sheet.Rows[0].BorderAround(); // ヘッダー行に外枠を追加
sheet.Rows[0].Borders.Color = Color.LightSteelBlue; // 枠線の色を設定
// データ行をスタイル設定
for (int i = 1; i < sheet.AllocatedRange.Rows.Count(); i++)
{
sheet.Rows[i].Style.Color = Color.LightGray;
sheet.Rows[i].Style.Font.FontName = "Yu Gothic UI";
sheet.Rows[i].Style.Font.Size = 11f;
}
sheet.Range[2, 1, sheet.Rows.Count(), sheet.Columns.Count()].BorderInside(); // データ行に内枠を追加
sheet.Range[2, 1, sheet.Rows.Count(), sheet.Columns.Count()].Borders.Color = Color.LightSteelBlue; // 枠線の色を設定
// 列幅を内容に合わせて調整
for (int j = 1; j <= sheet.AllocatedRange.Columns.Count(); j++)
{
sheet.AutoFitColumn(j);
}
// ワークブックをメモリストリームに保存
MemoryStream stream = new MemoryStream();
workbook.SaveToStream(stream, FileFormat.Version2016);
// ストリームの内容をファイルに書き込む
File.WriteAllBytes("output/ストリームでExcelファイルを作成.xlsx", stream.ToArray());
// リソースを解放
workbook.Dispose();
}
}
}
Spire.XLS for .NET を使用すると、Workbook.LoadFromStream() メソッドで直接ストリームから Excel ファイルを読み込むことができます。ファイルが読み込まれると、開発者はセルデータに簡単にアクセスでき、ファイル I/O 操作を必要とせずにメモリの使用効率を最適化し、迅速かつ柔軟にデータ処理を行えます。
C# でストリームから Excel ファイルを読み込み、データを取得する手順は次の通りです:
using Spire.Xls;
namespace LoadExcelStream
{
class Program
{
static void Main(string[] args)
{
// Workbookクラスのインスタンスを作成
Workbook workbook = new Workbook();
// メモリストリームを作成
MemoryStream stream = new MemoryStream();
File.OpenRead("Sample.xlsx").CopyTo(stream);
// ストリームからExcelファイルを読み込む
workbook.LoadFromStream(stream);
// ワークブック内の最初のワークシートにアクセス
Worksheet sheet = workbook.Worksheets[0];
// ワークシートから取得したデータを格納するリストを初期化
List<List<string>> data = new List<List<string>>();
for (int i = 0; i < sheet.AllocatedRange.Rows.Count(); i++)
{
// 各行のデータを保持するリストを作成
List<string> lines = new List<string>();
for (int j = 0; j < sheet.AllocatedRange.Columns.Count(); j++)
{
// セルのテキストを取得して行に追加
lines.Add(sheet.AllocatedRange[i + 1, j + 1].Value);
}
// 行をデータリストに追加
data.Add(lines);
}
// 取得したデータを出力するか、他の操作に利用
foreach (List<string> lines in data)
{
Console.WriteLine(string.Join(" | ", lines));
}
}
}
}
Spire.XLS for .NET を使用すると、Excel ファイルをメモリ内で編集できます。最初にファイルを Workbook オブジェクトに読み込んでから、セルの値やフォーマットを変更し、変更後のファイルをストリームに保存することができます。この方法により、物理的なストレージを使用せずにシームレスなリアルタイムの変更が可能です。
C# でストリーム内の Excel ファイルを編集する手順は次の通りです:
using Spire.Xls;
using System.Drawing;
namespace ModifyExcelStream
{
class Program
{
static void Main(string[] args)
{
// Workbookクラスの新しいインスタンスを作成
Workbook workbook = new Workbook();
// メモリストリームを作成
MemoryStream stream = new MemoryStream();
File.OpenRead("Sample.xlsx").CopyTo(stream);
// ストリームからExcelファイルを読み込む
workbook.LoadFromStream(stream);
// ワークブック内の最初のワークシートにアクセス
Worksheet sheet = workbook.Worksheets[0];
// ヘッダー行のスタイルを変更
CellRange headerRow = sheet.AllocatedRange.Rows[0];
headerRow.Style.Font.FontName = "Yu Gothic UI";
headerRow.Style.Font.Size = 12f;
headerRow.Style.Color = Color.LightBlue;
// データ行のスタイルを変更
for (int i = 1; i < sheet.AllocatedRange.Rows.Count(); i++)
{
CellRange dataRow = sheet.AllocatedRange.Rows[i];
dataRow.Style.Font.FontName = "Yu Mincho";
dataRow.Style.Font.Size = 10f;
dataRow.Style.Color = Color.LightGray;
// 行ごとに交互の色を付ける(偶数行)
if (i % 2 == 0)
{
dataRow.Style.Color = Color.LightSlateGray;
}
}
// 列の幅をコンテンツに基づいて自動調整
for (int k = 1; k <= sheet.AllocatedRange.Columns.Count(); k++)
{
sheet.AutoFitColumn(k);
}
// 枠線の色を変更
sheet.AllocatedRange.Style.Borders.Color = Color.White;
// 修正したワークブックをストリームに保存
workbook.SaveToStream(stream);
// ストリームの内容を新しいファイルに書き込む
File.WriteAllBytes("output/ストリームでExcelファイルを修正.xlsx", stream.ToArray());
// リソースを解放
workbook.Dispose();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Excel では、行、列、セルをコピーすることは基本的な操作であり、ワークシート内や複数のワークシート間でデータを効率的に複製することができます。Java を使用してプログラムで行、列、セルをコピーする方法を理解することで、大量のデータを扱う場合や繰り返し作業を自動化する場合に、データ操作が大幅に効率化されます。本記事では、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>14.12.0</version>
</dependency>
</dependencies>
Spire.XLS for Java の Worksheet.copyRow(CellRange sourceRow, Worksheet destSheet, int destRowIndex, EnumSet<CopyRangeOptions> copyOptions) メソッドを使用すると、同一ワークシート内または異なるワークシート間で行を複製することができます。このメソッドの CopyRangeOptions パラメーターを使用することで、コピーする項目(フラグ、条件付き書式、データ検証、数式値のみなど)を細かく制御できます。
以下の手順に従って、異なるワークシート間で書式付きで行をコピーする方法を説明します。
import com.spire.xls.*;
import java.util.EnumSet;
public class CopyRows {
public static void main(String[] args) {
// Workbookオブジェクトを作成
Workbook workbook = new Workbook();
// Excelファイルを読み込む
workbook.loadFromFile("Sample.xlsx");
// ソースワークシートを取得
Worksheet sheet1 = workbook.getWorksheets().get(0);
// 目的のワークシートを取得
Worksheet sheet2 = workbook.getWorksheets().get(1);
// コピーしたい行を取得
CellRange row = sheet1.getRows()[0];
// ソースワークシートの行を目的のワークシートの最初の行にコピー
sheet1.copyRow(row, sheet2, 1, EnumSet.of(CopyRangeOptions.All));
int columns = sheet1.getColumns().length;
// ソース行のセルの列幅を目的行の対応するセルにコピー
for (int i = 0; i < columns; i++) {
double columnWidth = row.getColumns()[i].getColumnWidth();
sheet2.getRows()[0].getColumns()[i].setColumnWidth(columnWidth);
}
// ワークブックをファイルに保存
workbook.saveToFile("output/Excelの行をコピー.xlsx", ExcelVersion.Version2016);
workbook.dispose();
}
}
列を書式付きでコピーする場合、Worksheet.copyColumn(CellRange sourceColumn, Worksheet destSheet, int destColIndex, EnumSet<CopyRangeOptions> copyOptions) メソッドを使用します。以下に詳細な手順を示します。
import com.spire.xls.*;
import java.util.EnumSet;
public class CopyColumns {
public static void main(String[] args) {
// Workbookオブジェクトを作成
Workbook workbook = new Workbook();
// Excelファイルを読み込む
workbook.loadFromFile("Sample.xlsx");
// ソースワークシートを取得
Worksheet sheet1 = workbook.getWorksheets().get(0);
// 目的のワークシートを取得
Worksheet sheet2 = workbook.getWorksheets().get(1);
// コピーしたい列を取得
CellRange column = sheet1.getColumns()[0];
// ソースワークシートの列を目的のワークシートの最初の列にコピー
sheet1.copyColumn(column, sheet2, 1, EnumSet.of(CopyRangeOptions.All));
int rows = column.getRows().length;
// ソース列のセルの行の高さを目的列の対応するセルにコピー
for (int i = 0; i < rows; i++) {
double rowHeight = column.getRows()[i].getRowHeight();
sheet2.getColumns()[0].getRows()[i].setRowHeight(rowHeight);
}
// ワークブックをファイルに保存
workbook.saveToFile("output/Excelの列をコピー.xlsx", ExcelVersion.Version2016);
workbook.dispose();
}
}
Spire.XLS for Java では、CellRange.copy(CellRange destRange, EnumSet<CopyRangeOptions> copyOptions) メソッドを使用して、セル範囲を書式付きでコピーすることも可能です。以下に手順を示します。
import com.spire.xls.*;
import java.util.EnumSet;
public class CopyCells {
public static void main(String[] args) {
// Workbookオブジェクトを作成
Workbook workbook = new Workbook();
// Excelファイルをロード
workbook.loadFromFile("Sample.xlsx");
// ソースワークシートを取得
Worksheet sheet1 = workbook.getWorksheets().get(0);
// 宛先ワークシートを取得
Worksheet sheet2 = workbook.getWorksheets().get(1);
// ソースセル範囲を取得
CellRange range1 = sheet1.getCellRange("A1:D5");
// 宛先セル範囲を取得
CellRange range2 = sheet2.getCellRange("A1:D5");
// ソースワークシートのセル範囲を宛先ワークシートのセル範囲にコピー
range1.copy(range2, EnumSet.of(CopyRangeOptions.All));
// ソースセル範囲の行の高さと列の幅を宛先セル範囲にコピー
for (int i = 0; i < range1.getRows().length; i++) {
CellRange row = range1.getRows()[i];
for (int j = 0; j < row.getColumns().length; j++) {
CellRange column = row.getColumns()[j];
range2.getRows()[i].getColumns()[j].setColumnWidth(column.getColumnWidth());
range2.getRows()[i].setRowHeight(row.getRowHeight());
}
}
// ワークブックをファイルに保存
workbook.saveToFile("output/Excelのセル範囲をコピー.xlsx", ExcelVersion.Version2016);
workbook.dispose();
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Excel のページ設定を適切に行うことは、ワークシートを見栄え良く、プロフェッショナルに仕上げる上で重要なステップです。レポートを印刷する場合でも、デジタル形式で共有する場合でも、余白や印刷の向き、用紙サイズ、スケーリングなどのオプションをカスタマイズすることで、データを明確かつ効果的に提示できます。この記事では、Spire.XLS for Java を使用して、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>14.12.0</version>
</dependency>
</dependencies>
Spire.XLS for Java の PageSetup クラスを使用すると、Excelワークシートのページ設定オプションをカスタマイズできます。setTopMargin()、setBottomMargin()、setLeftMargin()、setRightMargin()、setHeaderMarginInch()、setFooterMarginInch() メソッドを利用して、上、下、左、右、ヘッダー、フッターの余白を調整できます。手順は以下の通りです。
import com.spire.xls.ExcelVersion;
import com.spire.xls.PageSetup;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class PageMargins {
public static void main(String[] args) {
// Workbookオブジェクトを作成
Workbook workbook = new Workbook();
// Excelファイルを読み込む
workbook.loadFromFile("Sample.xlsx");
// 最初のワークシートを取得
Worksheet sheet = workbook.getWorksheets().get(0);
// ワークシートのPageSetupオブジェクトを取得
PageSetup pageSetup = sheet.getPageSetup();
// ワークシートの上下左右の余白を設定
// 単位はインチ (1インチ = 2.54 cm)
pageSetup.setTopMargin(1);
pageSetup.setBottomMargin(1);
pageSetup.setLeftMargin(1);
pageSetup.setRightMargin(1);
pageSetup.setHeaderMarginInch(1);
pageSetup.setFooterMarginInch(1);
// 修正したワークブックを新しいファイルとして保存
workbook.saveToFile("output/Excelのページ余白を設定.xlsx", ExcelVersion.Version2016);
workbook.dispose();
}
}
PageSetup.setOrientation() メソッドを使用すると、印刷時のページの向きを指定できます。「縦方向(Portrait)」と「横方向(Landscape)」の2種類のオプションがあります。手順は以下の通りです。
import com.spire.xls.*;
public class PageOrientation {
public static void main(String[] args) {
// Workbookオブジェクトを作成
Workbook workbook = new Workbook();
// Excelファイルを読み込む
workbook.loadFromFile("Sample.xlsx");
// 最初のワークシートを取得
Worksheet sheet = workbook.getWorksheets().get(0);
// ワークシートのPageSetupオブジェクトを取得
PageSetup pageSetup = sheet.getPageSetup();
// 印刷の向きを横方向に設定
pageSetup.setOrientation(PageOrientationType.Landscape);
// 修正したワークブックを新しいファイルとして保存
workbook.saveToFile("output/Excelのページの向きを設定.xlsx", ExcelVersion.Version2016);
workbook.dispose();
}
}
PageSetup.setPaperSize() メソッドを使用すると、印刷時の用紙サイズを選択できます。選択可能なオプションには、A3、A4、A5、B4、B5、レター(Letter)、リーガル(Legal)、タブロイド(Tabloid)などがあります。手順は以下の通りです。
import com.spire.xls.*;
public class PaperSize {
public static void main(String[] args) {
// Workbookオブジェクトを作成
Workbook workbook = new Workbook();
// Excelファイルを読み込む
workbook.loadFromFile("Sample.xlsx");
// 最初のワークシートを取得
Worksheet sheet = workbook.getWorksheets().get(0);
// ワークシートのPageSetupオブジェクトを取得
PageSetup pageSetup = sheet.getPageSetup();
// 用紙サイズをA4に設定
pageSetup.setPaperSize(PaperSizeType.PaperA4);
// 修正したワークブックを新しいファイルとして保存
workbook.saveToFile("output/Excelの用紙サイズを設定.xlsx", ExcelVersion.Version2016);
workbook.dispose();
}
}
PageSetup.setPrintArea() メソッドを使用すると、印刷する特定の範囲を定義できます。手順は以下の通りです。
import com.spire.xls.ExcelVersion;
import com.spire.xls.PageSetup;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class PrintArea {
public static void main(String[] args) {
// Workbookオブジェクトを作成
Workbook workbook = new Workbook();
// Excelファイルを読み込む
workbook.loadFromFile("Sample.xlsx");
// 最初のワークシートを取得
Worksheet sheet = workbook.getWorksheets().get(0);
// ワークシートのPageSetupオブジェクトを取得
PageSetup pageSetup = sheet.getPageSetup();
// ワークシートの印刷範囲を "A1:E5" に設定
pageSetup.setPrintArea("A1:E5");
// 修正したワークブックを新しいファイルとして保存
workbook.saveToFile("output/Excelの印刷範囲を設定.xlsx", ExcelVersion.Version2016);
workbook.dispose();
}
}
ワークシートの内容を元のサイズの特定の割合に拡大または縮小するには、PageSetup.setZoom() メソッドを使用します。手順は以下の通りです。
import com.spire.xls.ExcelVersion;
import com.spire.xls.PageSetup;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class ScalingFactor {
public static void main(String[] args) {
// Workbookオブジェクトを作成
Workbook workbook = new Workbook();
// Excelファイルを読み込む
workbook.loadFromFile("Sample.xlsx");
// 最初のワークシートを取得
Worksheet sheet = workbook.getWorksheets().get(0);
// ワークシートのPageSetupオブジェクトを取得
PageSetup pageSetup = sheet.getPageSetup();
// ワークシートの拡大縮小率を90%に設定
pageSetup.setZoom(90);
// 修正したワークブックを新しいファイルとして保存
workbook.saveToFile("output/Excelの拡大縮小を設定.xlsx", ExcelVersion.Version2016);
workbook.dispose();
}
}
Spire.XLS for Java では、PageSetup.setFitToPagesTall() と PageSetup.setFitToPagesWide() メソッドを使用して、ワークシートの内容を指定したページ数に収めることができます。手順は以下の通りです。
import com.spire.xls.ExcelVersion;
import com.spire.xls.PageSetup;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class FitToPages {
public static void main(String[] args) {
// Workbookオブジェクトを作成
Workbook workbook = new Workbook();
// Excelファイルを読み込む
workbook.loadFromFile("Sample.xlsx");
// 最初のワークシートを取得
Worksheet sheet = workbook.getWorksheets().get(0);
// ワークシートのPageSetupオブジェクトを取得
PageSetup pageSetup = sheet.getPageSetup();
// ワークシートの内容を縦方向で1ページに収めるよう設定
pageSetup.setFitToPagesTall(1);
// ワークシートの内容を横方向で1ページに収めるよう設定
pageSetup.setFitToPagesWide(1);
// 修正したワークブックを新しいファイルとして保存
workbook.saveToFile("output/ページに合わせるオプションを設定.xlsx", ExcelVersion.Version2016);
workbook.dispose();
}
}
Excelのヘッダーとフッターの設定方法については、こちらの記事をご参照ください: Java:Excel ワークシートにヘッダーとフッターを挿入する方法。
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Excel ファイルでは、ヘッダーとフッターを使用して、ワークシートページの上部と下部にリッチなコンテンツを配置できます。このコンテンツには、ロゴ、会社名、ページ番号、日付、時刻などを含めることができます。この記事では、Spire.XLS for .NET を使用して、Excel のヘッダーやフッターにテキスト、画像、およびフィールド(ページ番号など)を追加する方法を紹介します。
Spire.XLS for .NET では、PageSetup クラスを使用して、Excel のページ設定(ヘッダーやフッターを含む)を操作できます。具体的には、ヘッダーやフッターの左、中央、右のセクションを表す LeftHeader プロパティ、CenterHeader プロパティ、RightHeader プロパティ、LeftFooter プロパティなどが用意されています。ヘッダーやフッターにフィールドを追加したり、テキストに書式を適用したりするには、以下の表に示すスクリプトを使用する必要があります。
スクリプト | 説明 |
&P | 現在のページ番号です |
&N | 総ページ数です |
&D | 現在の日付です |
&T | 現在の時刻です |
&G | 画像です |
&A | ワークシートの名です |
&F | ファイルの名です |
&B | テキストを太字にする |
&I | テキストを斜体にする |
&U | テキストに下線を引く |
&"フォント名" | フォントの名を表す。例えば、&"Arial" |
& + 整数 | フォントサイズを表す。例えば、&12 |
&K + 16進カラーコード | フォントの色を表す。例えば、&FF0000 |
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
Spire.XLS for .NET を使用して、既存の Excel ドキュメントのヘッダーに画像と書式設定されたテキストを追加する手順は以下の通りです。
using Spire.Xls;
using System.Drawing;
namespace AddImageAndTextToHeader
{
class Program
{
static void Main(string[] args)
{
// Workbook オブジェクトを作成
Workbook wb = new Workbook();
// 既存の Excel ファイルを読み込む
wb.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.xlsx");
// 最初のワークシートを取得
Worksheet sheet = wb.Worksheets[0];
// 画像を読み込む
Image image = Image.FromFile("logo.png");
// 画像をスケーリング
Bitmap bitmap = new Bitmap(image, new Size(image.Width / 2, image.Height / 2));
// ヘッダーの左セクションに画像を追加
sheet.PageSetup.LeftHeaderImage = bitmap;
sheet.PageSetup.LeftHeader = "&G";
// ヘッダーの右セクションにフォーマットされたテキストを追加
sheet.PageSetup.RightHeader = &"Calibri"&B&10&K4253E2X Information Technology, Inc.
www.xxx.com";
// ファイルを保存
wb.SaveToFile("Header.xlsx", ExcelVersion.Version2016);
wb.Dispose();
}
}
}
Spire.XLS for .NET を使用して、既存の Excel ドキュメントのフッターに現在の日付とページ番号を追加する手順は以下の通りです。
using Spire.Xls;
namespace AddDateAndPageNumberToFooter
{
class Program
{
static void Main(string[] args)
{
// Workbook オブジェクトを作成
Workbook wb = new Workbook();
// 既存の Excel ファイルを読み込む
wb.LoadFromFile("sample.xlsx");
// 最初のワークシートを取得
Worksheet sheet = wb.Worksheets[0];
// フッターの左セクションにページ番号を追加
sheet.PageSetup.LeftFooter = "&\"Calibri\"&B&10&K4253E2ページ &P";
// フッターの右セクションに現在の日付を追加
sheet.PageSetup.RightFooter = "&\"Calibri\"&B&10&K4253E2&D";
// ファイルを保存
wb.SaveToFile("Footer.xlsx", ExcelVersion.Version2016);
wb.Dispose();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
HTML ファイルには、テーブル内に貴重なデータセットが埋め込まれていることがよくあります。しかし、HTML 形式で直接データを分析するのは手間がかかり、効率的ではありません。HTML テーブルを Excel 形式に変換することで、Excel の強力なデータ操作および分析ツールを活用し、データの並べ替えやフィルタリング、視覚化を簡単に行えるようになります。レポート作成のためのデータ分析、計算の実行、またはデータをより使いやすい形式で整理するためにも、HTML から Excel への変換は非常に便利です。本記事では、Java で Spire.XLS for Java を用いた HTML ファイルの 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>14.12.0</version>
</dependency>
</dependencies>
Spire.XLS for Java は、HTMLファイルを読み込むための Workbook.loadFromHtml() メソッドを提供しています。このメソッドで HTML ファイルをロードした後、Workbook.saveToFile() メソッドを使用して Excel 形式に変換できます。手順は以下の通りです。
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
public class HTMLToExcel {
public static void main(String[] args) {
// 入力する HTML ファイルのパスを指定
String filePath = "Sample.html";
// ワークブッククラスのオブジェクトを作成
Workbook workbook = new Workbook();
// HTML ファイルを読み込む
workbook.loadFromHtml(filePath);
// HTML ファイルを Excel XLSX 形式で保存
String result = "output/HTMLをExcelに変換.xlsx";
workbook.saveToFile(result, ExcelVersion.Version2016);
// リソースを解放
workbook.dispose();
}
}
HTML ファイルを Excel に変換するだけでなく、Spire.XLS for Java を使用すると、HTML 文字列を直接 Excel のセルに挿入することも可能です。この機能は、CellRange.setHtmlString() メソッドを利用して実現します。手順は以下の通りです。
import com.spire.xls.CellRange;
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class InsertHTMLStringToExcel {
public static void main(String[] args) {
// ワークブッククラスのオブジェクトを作成
Workbook workbook = new Workbook();
// 最初のシートを取得
Worksheet sheet = workbook.getWorksheets().get(0);
// HTML文字列を指定
String htmlCode = "これは 段落 で、赤色のテキストがあります。
";
// HTML文字列を追加するセルを取得
CellRange range = sheet.getCellRange("A1");
// セルにHTML文字列を追加
range.setHtmlString(htmlCode);
// コンテンツに基づいて最初の列の幅を自動調整
sheet.autoFitColumn(1);
// 結果のワークブックを新しいファイルに保存
String result = "output/HTML文字列をExcelに挿入.xlsx";
workbook.saveToFile(result, ExcelVersion.Version2013);
// リソースを解放
workbook.dispose();
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Excel ワークシートにおけるテーブルは、ヘッダー、オプションの合計行、フィルターや並べ替え、データの挿入・削除、計算列などの機能が組み込まれた、特別に指定された領域です。このテーブル機能により、データの操作や分析が非常に簡単になります。Java アプリケーション内で Excel データ操作を自動化または統合したい開発者にとって、これらのワークシート内でテーブルを作成、修正、または削除するスキルは非常に重要です。本記事では、Java で 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>14.12.0</version>
</dependency>
</dependencies>
Java を使用して Excel ワークシート内にテーブルを作成するには、Worksheet.getListObjects().create(String tableName, IXLSRange cellRange) メソッドを使用できます。以下の手順に従って、テーブルを作成しカスタマイズします:
import com.spire.xls.CellRange;
import com.spire.xls.TableBuiltInStyles;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
import com.spire.xls.core.IListObject;
public class CreateTableExcel {
public static void main(String[] args) {
// Workbookのインスタンスを作成
Workbook workbook = new Workbook();
// Excelファイルをロード
workbook.loadFromFile("Sample.xlsx");
// 最初のワークシートを取得
Worksheet sheet = workbook.getWorksheets().get(0);
// テーブルのセル範囲を取得
CellRange range = sheet.getCellRange("A1:F7");
// テーブルを作成
IListObject table1 = sheet.getListObjects().create("Table1", range);
// テーブルに組み込みスタイルを適用
table1.setBuiltInTableStyle(TableBuiltInStyles.TableStyleLight16);
// ワークブックを保存
workbook.saveToFile("output/Excelで表を作成.xlsx");
workbook.dispose();
}
}
Spire.XLS for Java は、IListObject クラスのメソッドを通じて、テーブル名、セル範囲、スタイル、ヘッダーの表示など、ワークシートテーブルのプロパティを修正する機能を提供します。以下の手順で Excel ワークシート内のテーブルを修正できます:
import com.spire.xls.TableBuiltInStyles;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
import com.spire.xls.core.IListObject;
public class ModifyTableExcel {
public static void main(String[] args) {
// Workbookのインスタンスを作成
Workbook workbook = new Workbook();
// Excelファイルをロード
workbook.loadFromFile("output/Excelで表を作成.xlsx");
// 最初のワークシートを取得
Worksheet sheet = workbook.getWorksheets().get(0);
// テーブルを取得
IListObject table = sheet.getListObjects().get(0);
// テーブルを修正
table.setName("NewTable"); // 名前を変更
table.setLocation(sheet.getRange().get("A1:C7")); // 場所を変更
table.setBuiltInTableStyle(TableBuiltInStyles.TableStyleDark5); // スタイルを変更
table.setDisplayHeaderRow(false); // ヘッダー行を非表示にする
// ワークブックを保存
workbook.saveToFile("output/Excelで表を修正.xlsx");
workbook.dispose();
}
}
Worksheet.getListObjects().removeAt(int index) メソッドを使用して、Excel ワークシートからテーブルを削除できます。この操作により、テーブル領域は通常のセル範囲に戻り、関連するフォーマットも削除されます。以下の手順に従って、テーブルを削除します:
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class RemoveTableExcel {
public static void main(String[] args) {
// Workbookのインスタンスを作成
Workbook workbook = new Workbook();
// Excelファイルをロード
workbook.loadFromFile("output/Excelで表を作成.xlsx");
// 最初のワークシートを取得
Worksheet sheet = workbook.getWorksheets().get(0);
// テーブルを削除
sheet.getListObjects().removeAt(0);
// ワークブックを保存
workbook.saveToFile("output/Excelで表を削除.xlsx");
workbook.dispose();
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。