チュートリアル
簡単にライブラリーを使用するためのチュートリアルコレクション
Word ドキュメントにページを追加、挿入、削除することは、コンテンツの管理と提示にとって重要です。Word に新しいページを追加または挿入することで、ドキュメントを拡張してより多くのコンテンツを収容し、より構造化され読みやすくすることができます。ページを削除することで、不必要な情報や誤ったコンテンツを取り除いてドキュメントを整理するのに役立ちます。この記事では、Spire.Doc for .NET を使用して C# プロジェクト内で Word ドキュメントにページを追加、挿入、または削除する方法を説明します。
まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.Doc
Word ドキュメントの末尾に新しいページを追加する手順は、まず最後のセクションを取得し、そのセクションの最後の段落の末尾に改ページを挿入して、後で追加されるコンテンツが新しいページに表示されるようにすることです。以下は詳細な手順です:
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Pages;
namespace AddPageWord
{
class Program
{
static void Main(string[] args)
{
// 新しいドキュメントオブジェクトを作成する
Document document = new Document();
// ドキュメントをロードする
document.LoadFromFile("Sample.docx");
// ドキュメントの最後のセクションの本文を取得する
Body body = document.LastSection.Body;
// 本文の最後の段落の後に改ページを挿入する
body.LastParagraph.AppendBreak(BreakType.PageBreak);
// 新しい段落スタイルを作成する
ParagraphStyle paragraphStyle = new ParagraphStyle(document);
paragraphStyle.Name = "CustomParagraphStyle1";
paragraphStyle.ParagraphFormat.LineSpacing = 12;
paragraphStyle.ParagraphFormat.AfterSpacing = 8;
paragraphStyle.CharacterFormat.FontName = "Yu Mincho";
paragraphStyle.CharacterFormat.FontSize = 12;
// ドキュメントのスタイルコレクションに段落スタイルを追加する
document.Styles.Add(paragraphStyle);
// 新しい段落を作成し、テキスト内容を設定する
Paragraph paragraph = new Paragraph(document);
paragraph.AppendText("弊社の Spire.Doc for .NET 製品をご利用いただきありがとうございます。試用版では生成されるドキュメントに赤い透かしが追加され、最初の10ページのみ他の形式に変換可能です。ライセンスを購入して適用すると、これらの透かしが削除され、機能制限が解除されます。");
// 段落スタイルを適用する
paragraph.ApplyStyle(paragraphStyle.Name);
// 段落を本文のコンテンツコレクションに追加する
body.ChildObjects.Add(paragraph);
// もう一つの新しい段落を作成し、テキスト内容を設定する
paragraph = new Paragraph(document);
paragraph.AppendText("製品をより完全に体験していただくために、お客様には1ヶ月の無料仮ライセンスを提供しています。sales @e-iceblue.com にメールを送っていただければ、1営業日以内にライセンスをお送りします。");
// 段落スタイルを適用する
paragraph.ApplyStyle(paragraphStyle.Name);
// 段落を本文のコンテンツコレクションに追加する
body.ChildObjects.Add(paragraph);
// 指定されたパスにドキュメントを保存する
document.SaveToFile("Wordにページを追加.docx", FileFormat.Docx);
// ドキュメントを閉じる
document.Close();
// ドキュメントオブジェクトのリソースを解放する
document.Dispose();
}
}
}
新しいページを挿入する前に、セクション内の指定されたページコンテンツの終了位置インデックスを特定する必要があります。その後、この位置の後に新しいページのコンテンツを一つずつドキュメントに追加します。最後に、コンテンツを後続のページから分離するために改ページを追加することが重要です。詳細な手順は以下の通りです:
using Spire.Doc;
using Spire.Doc.Pages;
using Spire.Doc.Documents;
namespace InsertPageWord
{
internal class Program
{
static void Main(string[] args)
{
// 新しいドキュメントオブジェクトを作成する
Document document = new Document();
// サンプルドキュメントをファイルからロードする
document.LoadFromFile("Sample.docx");
// 固定レイアウトドキュメントオブジェクトを作成する
FixedLayoutDocument layoutDoc = new FixedLayoutDocument(document);
// 最初のページを取得する
FixedLayoutPage page = layoutDoc.Pages[0];
// ドキュメントの本文を取得する
Body body = page.Section.Body;
// 現在のページの最後の段落を取得する
Paragraph paragraphEnd = page.Columns[0].Lines[page.Columns[0].Lines.Count - 1].Paragraph;
// 終了インデックスを初期化する
int endIndex = 0;
if (paragraphEnd != null)
{
// 最後の段落のインデックスを取得する
endIndex = body.ChildObjects.IndexOf(paragraphEnd);
}
// 新しい段落スタイルを作成する
ParagraphStyle paragraphStyle = new ParagraphStyle(document);
paragraphStyle.Name = "CustomParagraphStyle1";
paragraphStyle.ParagraphFormat.LineSpacing = 12;
paragraphStyle.ParagraphFormat.AfterSpacing = 8;
paragraphStyle.CharacterFormat.FontName = "Yu Mincho";
paragraphStyle.CharacterFormat.FontSize = 12;
// ドキュメントのスタイルコレクションに段落スタイルを追加する
document.Styles.Add(paragraphStyle);
// 新しい段落を作成し、テキスト内容を設定する
Paragraph paragraph = new Paragraph(document);
paragraph.AppendText("弊社の Spire.Doc for .NET 製品をご利用いただきありがとうございます。試用版では生成されるドキュメントに赤い透かしが追加され、最初の10ページのみ他の形式に変換可能です。ライセンスを購入して適用すると、これらの透かしが削除され、機能制限が解除されます。");
// 段落スタイルを適用する
paragraph.ApplyStyle(paragraphStyle.Name);
// 指定された位置に段落を挿入する
body.ChildObjects.Insert(endIndex + 1, paragraph);
// もう一つの新しい段落を作成する
paragraph = new Paragraph(document);
paragraph.AppendText("製品をより完全に体験していただくために、お客様には1ヶ月の無料仮ライセンスを提供しています。sales @e-iceblue.com にメールを送っていただければ、1営業日以内にライセンスをお送りします。");
// 段落スタイルを適用する
paragraph.ApplyStyle(paragraphStyle.Name);
// 改ページを追加する
paragraph.AppendBreak(BreakType.PageBreak);
// 指定された位置に段落を挿入する
body.ChildObjects.Insert(endIndex + 2, paragraph);
// 指定されたパスにドキュメントを保存する
document.SaveToFile("Wordにページを挿入.docx", Spire.Doc.FileFormat.Docx);
// ドキュメントを閉じ、リソースを解放する
document.Close();
document.Dispose();
}
}
}
ページのコンテンツを削除するには、まずドキュメント内のそのページの開始要素と終了要素のインデックス位置を特定します。その後、これらの要素を一つずつ順に削除するためにループを利用します。詳細な手順は以下の通りです:
using Spire.Doc;
using Spire.Doc.Pages;
using Spire.Doc.Documents;
namespace DeletePageWord
{
internal class Program
{
static void Main(string[] args)
{
// 新しいドキュメントオブジェクトを作成する
Document document = new Document();
// サンプルドキュメントをファイルからロードする
document.LoadFromFile("Wordにページを挿入.docx");
// 固定レイアウトドキュメントオブジェクトを作成する
FixedLayoutDocument layoutDoc = new FixedLayoutDocument(document);
// 2ページ目を取得する
FixedLayoutPage page = layoutDoc.Pages[1];
// ページのセクションを取得する
Section section = page.Section;
// 1ページ目の最初の段落を取得する
Paragraph paragraphStart = page.Columns[0].Lines[0].Paragraph;
int startIndex = 0;
if (paragraphStart != null)
{
// 開始段落のインデックスを取得する
startIndex = section.Body.ChildObjects.IndexOf(paragraphStart);
}
// 最後のページの最後の段落を取得する
Paragraph paragraphEnd = page.Columns[0].Lines[page.Columns[0].Lines.Count - 1].Paragraph;
int endIndex = 0;
if (paragraphEnd != null)
{
// 終了段落のインデックスを取得する
endIndex = section.Body.ChildObjects.IndexOf(paragraphEnd);
}
// 指定された範囲内のすべてのコンテンツを削除する
for (int i = 0; i <= (endIndex - startIndex); i++)
{
section.Body.ChildObjects.RemoveAt(startIndex);
}
// 指定されたパスにドキュメントを保存する
document.SaveToFile("Wordからページを削除.docx", Spire.Doc.FileFormat.Docx);
// ドキュメントを閉じ、リソースを解放する
document.Close();
document.Dispose();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Word ドキュメント内の数式は、数学的な概念や関係を表現するための重要なツールです。学術論文、科学レポート、またはその他の数学的内容を含む文書を書く際に、数式を組み込むことで複雑な数学的概念を効果的に伝え、文書の視覚的魅力と専門性を向上させることができます。本記事では、C# で Spire.Doc for .NET を使用して、Word ドキュメントに数式を挿入する方法を説明します。
まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.Doc
Spire.Doc for .NET を使用すると、OfficeMath.FromLatexMathCode(string latexMathCode) メソッドおよび OfficeMath.FromMathMLCode(string mathMLCode) メソッドを使用して、LaTeX コードおよび MathML コードから数式を生成できます。詳細な手順は以下の通りです:
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields.OMath;
namespace AddMathEquations
{
internal class Program
{
static void Main(string[] args)
{
// LaTeXコードから文字列配列を作成する
string[] latexMathCode = {
"x^{2}+\\sqrt{x^{2}+1}=2",
"\\cos (2\\theta) = \\cos^2 \\theta - \\sin^2 \\theta",
"k_{n+1} = n^2 + k_n^2 - k_{n-1}",
"\\frac {\\frac {1}{x}+ \\frac {1}{y}}{y-z}",
"\\int_0^ \\infty \\mathrm {e}^{-x} \\, \\mathrm {d}x",
"\\forall x \\in X, \\quad \\exists y \\leq \\epsilon",
"\\alpha, \\beta, \\gamma, \\Gamma, \\pi, \\Pi, \\phi, \\varphi, \\mu, \\Phi",
"A_{m,n} = \\begin{pmatrix} a_{1,1} & a_{1,2} & \\cdots & a_{1,n} \\\\ a_{2,1} & a_{2,2} & \\cdots & a_{2,n} \\\\ \\vdots & \\vdots & \\ddots & \\vdots \\\\ a_{m,1} & a_{m,2} & \\cdots & a_{m,n} \\end{pmatrix}",
};
// MathMLコードから文字列配列を作成する
string[] mathMLCode = {
"<math xmlns=\"http://www.w3.org/1998/Math/MathML\"><mi>a</mi><mo>≠</mo><mn>0</mn></math>",
"<math xmlns=\"http://www.w3.org/1998/Math/MathML\"><mi>a</mi><msup><mi>x</mi><mn>2</mn></msup><mo>+</mo><mi>b</mi><mi>x</mi><mo>+</mo><mi>c</mi><mo>=</mo><mn>0</mn></math>",
"<math xmlns=\"http://www.w3.org/1998/Math/MathML\"><mi>x</mi><mo>=</mo><mrow><mfrac><mrow><mo>−</mo><mi>b</mi><mo>±</mo><msqrt><msup><mi>b</mi><mn>2</mn></msup><mo>−</mo><mn>4</mn><mi>a</mi><mi>c</mi></msqrt></mrow><mrow><mn>2</mn><mi>a</mi></mrow></mfrac></mrow></math>",
};
// Documentインスタンスを作成する
Document doc = new Document();
// セクションを追加する
Section section = doc.AddSection();
// セクションに段落を追加する
Paragraph textPara = section.AddParagraph();
textPara.AppendText("LaTeXコードからの数式の作成");
textPara.ApplyStyle(BuiltinStyle.Heading1);
textPara.Format.HorizontalAlignment = HorizontalAlignment.Left;
// 文字列配列の各LaTeXコードを反復処理する
for (int i = 0; i < latexMathCode.Length; i++)
{
// LaTeXコードから数式を作成する
OfficeMath officeMath = new OfficeMath(doc);
officeMath.FromLatexMathCode(latexMathCode[i]);
// 数式をセクションに追加する
Paragraph paragraph = section.AddParagraph();
paragraph.Items.Add(officeMath);
section.AddParagraph();
}
section.AddParagraph();
// セクションに段落を追加する
textPara = section.AddParagraph();
textPara.AppendText("MathMLコードからの数式の作成");
textPara.ApplyStyle(BuiltinStyle.Heading1);
textPara.Format.HorizontalAlignment = HorizontalAlignment.Left;
// 文字列配列の各MathMLコードを反復処理する
for (int j = 0; j < mathMLCode.Length; j++)
{
// MathMLコードから数式を作成する
OfficeMath officeMath = new OfficeMath(doc);
officeMath.FromMathMLCode(mathMLCode[j]);
// 数式をセクションに追加する
Paragraph paragraph = section.AddParagraph();
paragraph.Items.Add(officeMath);
section.AddParagraph();
}
// 結果文書を保存する
doc.SaveToFile("Word文書に数式を挿入.docx", FileFormat.Docx2019);
doc.Dispose();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Word ドキュメントを TIFF に変換することは、さまざまなシナリオで役立ちます。TIFF ファイルは高品質で広くサポートされており、ドキュメントを共有するのに便利です。変換により Word ドキュメントが「フラット化」され、レイアウトが元のまま正確に保存されます。これにより、画像ベースのファイルが必要な他のアプリケーションやワークフローにドキュメントを組み込む際に役立ちます。
この記事では、C# と Spire.Doc for .NET ライブラリを使用して Word を TIFF に変換する方法を学びます。
まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.Doc
Spire.Doc for .NET は、ドキュメント全体を画像の配列に変換するための Document.SaveToImages() メソッドを提供しています。その後、これらの個々の画像を組み合わせて単一の TIFF 画像にすることができます。
C# を使用して Word を TIFF に変換する手順は次のとおりです。
using Spire.Doc;
using Spire.Doc.Documents;
using System.Drawing;
using System.Drawing.Imaging;
namespace WordToTiff
{
class Program
{
static void Main(string[] args)
{
// Documentオブジェクトを作成する
Document doc = new Document();
// Word文書を読み込む
doc.LoadFromFile("G:/Documents/Sample20.docx");
// 文書全体を画像に変換する
Image[] images = doc.SaveToImages(ImageType.Bitmap);
// 複数の画像をTIFFファイルに変換する
ConvertImagesToTiff(images, "WordをTiffに変換.tiff", EncoderValue.CompressionLZW);
// リソースを解放する
doc.Dispose();
}
private static ImageCodecInfo GetEncoderInfo(string mimeType)
{
// 画像エンコーダを取得する
ImageCodecInfo[] encoders = ImageCodecInfo.GetImageEncoders();
for (int j = 0; j < encoders.Length; j++)
{
// 指定されたMIMEタイプに一致するエンコーダを見つける
if (encoders[j].MimeType == mimeType)
return encoders[j];
}
throw new Exception(mimeType + " mime type not found in ImageCodecInfo");
}
public static void ConvertImagesToTiff(Image[] images, string outFile, EncoderValue compressEncoder)
{
// エンコーダパラメータを設定する
Encoder enc = Encoder.SaveFlag;
EncoderParameters ep = new EncoderParameters(2);
ep.Param[0] = new EncoderParameter(enc, (long)EncoderValue.MultiFrame);
ep.Param[1] = new EncoderParameter(Encoder.Compression, (long)compressEncoder);
// 最初の画像を取得する
Image pages = images[0];
// 変数を作成する
int frame = 0;
// TIFF画像コーデック情報を処理するためのImageCodecInfoオブジェクトを取得する
ImageCodecInfo info = GetEncoderInfo("image/tiff");
// 各画像を反復処理する
foreach (Image img in images)
{
// 最初のフレームの場合、指定されたエンコーダパラメータで出力ファイルに保存する
if (frame == 0)
{
pages = img;
pages.Save(outFile, info, ep);
}
else
{
// 中間フレームを保存する
ep.Param[0] = new EncoderParameter(enc, (long)EncoderValue.FrameDimensionPage);
pages.SaveAdd(img, ep);
}
// 最後のフレームの場合、エンコーダパラメータをフラッシュし、ファイルを閉じる
if (frame == images.Length - 1)
{
ep.Param[0] = new EncoderParameter(enc, (long)EncoderValue.Flush);
pages.SaveAdd(ep);
}
frame++;
}
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
テキストファイルはシンプルで汎用性がありますが、フォーマットオプションやヘッダー、フッター、ページ番号、スタイルなどの高度な機能をサポートしていません。また、画像や表などのマルチメディアコンテンツも含めることができません。さらに、プレーンテキストエディタではスペルチェックや文法チェック機能も利用できません。
テキストドキュメントにフォーマット、マルチメディアコンテンツ、または高度な機能を追加する必要がある場合は、より高度なフォーマットである Word に変換する必要があります。同様に、Word ドキュメントのフォーマットを簡素化したり、ファイルサイズを削減したり、その内容を基本的なツールで操作する必要がある場合は、プレーンテキストフォーマットに変換する必要があります。本記事では、Spire.Doc for .NET ライブラリを使用して、C# でテキストファイルを Word ドキュメントに変換する方法と、Word ドキュメントをテキスト形式に変換する方法を説明します。
まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.Doc
Spire.Doc for .NET は、Document.LoadText(string fileName) メソッドを提供しており、このメソッドを使用してテキストファイルを読み込むことができます。テキストファイルが読み込まれた後、Document.SaveToFile(string fileName, FileFormat fileFormat) メソッドを使用して簡単に Word 形式で保存できます。詳細な手順は以下の通りです:
using Spire.Doc;
using Spire.Doc.Documents;
namespace TextToWord
{
class Program
{
static void Main(string[] args)
{
// Documentクラスのインスタンスを作成
Document doc = new Document();
// テキストファイルを読み込む
doc.LoadFromFile("Sample.txt");
// 変換結果を向上させるための基本的なフォント設定を行う(オプション)
// スタイルを作成
ParagraphStyle style = new ParagraphStyle(doc);
// フォント名とフォントサイズを設定
style.CharacterFormat.FontName = "Yu Mincho";
style.CharacterFormat.FontSize = 12;
doc.Styles.Add(style);
// すべての段落にスタイルを適用
Section section = doc.Sections[0];
foreach (Paragraph paragraph in section.Paragraphs)
{
paragraph.ApplyStyle(style);
}
// テキストファイルをWord文書として保存
doc.SaveToFile("テキストをWordに変換.docx");
doc.Dispose();
}
}
}
Word ファイルをテキスト形式に変換するには、まず Document.LoadFromFile(string fileName) メソッドを使用して Word ファイルを読み込み、その後、Document.SaveToFile(string fileName, FileFormat fileFormat) メソッドを呼び出してテキスト形式で保存するだけです。詳細な手順は以下の通りです:
using Spire.Doc;
using Spire.Doc.Documents;
namespace TextToWord
{
class Program
{
static void Main(string[] args)
{
// Documentクラスのインスタンスを作成
Document doc = new Document();
// Word文書を読み込む
doc.LoadFromFile("Sample.docx");
// Word文書をテキストファイルとして保存
doc.SaveToFile("Wordをテキストに変換.txt", FileFormat.Txt);
doc.Dispose();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
ドキュメントプロパティ、またはメタデータは、ドキュメントを記述する一連のデータです。Excel ファイルでは、著者、タイトル、キーワードなどの組み込みドキュメントプロパティを追加して、フォルダー内のドキュメントをすばやく見つけて識別することができます。また、カスタムプロパティを追加して、Excel ドキュメントに関する詳細情報を提供することもできます。この記事では、Spire.XLS for .NET を使用して、C# コードで Excel ドキュメントに組み込みおよびカスタムのドキュメントプロパティを追加する方法を説明します。
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
組み込みドキュメントプロパティは、タイトル、件名、著者、カテゴリなど、ドキュメントに関する基本情報です。これらのプロパティの名前は編集できませんが、Spire.XLS for .NET を使用してこれらのプロパティに特定の値を設定できます。以下は詳細な手順です。
using Spire.Xls;
namespace ExcelProperties
{
class Program
{
static void Main(string[] args)
{
//Workbookオブジェクトを作成
Workbook workbook = new Workbook();
//サンプルのExcelドキュメントを読み込む
workbook.LoadFromFile("Sample.xlsx");
//Excelワークブックの組み込みドキュメントプロパティを設定
workbook.DocumentProperties.Author = "E-iceblueチーム";
workbook.DocumentProperties.Title = "Excelに組み込みドキュメントプロパティを追加";
workbook.DocumentProperties.Keywords = "Excel, ドキュメントプロパティ, C#, VB.NET";
workbook.DocumentProperties.Category = "Spire.XLSデモ";
workbook.DocumentProperties.Company = "E-iceblue";
workbook.DocumentProperties.Comments = "ドキュメントプロパティは、ファイルに関する詳細情報で、ファイルを説明または識別します。";
//結果のドキュメントを保存
workbook.SaveToFile("Excelの組み込みプロパティ.xlsx", FileFormat.Version2013);
workbook.Dispose();
}
}
}
カスタムドキュメントプロパティは、Excel ドキュメントに対して定義できる追加のプロパティです。Spire.XLS for .NET を使用して、指定された名前と値でカスタムプロパティを追加できます。以下は詳細な手順です。
using Spire.Xls;
using System;
namespace CustomExcelProperties
{
class Program
{
static void Main(string[] args)
{
//Workbookオブジェクトを作成
Workbook workbook = new Workbook();
//サンプルのExcelドキュメントを読み込む
workbook.LoadFromFile("Sample.xlsx");
//ドキュメントにカスタムドキュメントプロパティを追加
workbook.CustomDocumentProperties.Add("_MarkAsFinal", true);
workbook.CustomDocumentProperties.Add("編集者", "E-iceblue");
workbook.CustomDocumentProperties.Add("電話番号", 12345678);
workbook.CustomDocumentProperties.Add("ドキュメントID", 1);
workbook.CustomDocumentProperties.Add("改訂日", DateTime.Now);
//結果のドキュメントを保存
workbook.SaveToFile("Excelのカスタムプロパティ.xlsx", FileFormat.Version2013);
workbook.Dispose();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Excel スプレッドシートは、データを表形式で整理、分析、表示するために広く使用されているファイル形式です。プログラムで Excel ファイルと対話する能力は非常に価値があり、ソフトウェアアプリケーションに Excel の機能を自動化および統合することができます。この機能は、大量のデータを扱う場合や複雑な計算を行う場合、またはデータを動的に生成または更新する必要がある場合に特に有用です。この記事では、Spire.XLS for .NET を使用して、C# で Excel ドキュメントを作成、読み取り、更新する方法を紹介します。
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
Spire.XLS for .NET は、Excel ドキュメントの作成と編集に使用できるさまざまなクラスとインターフェースを提供します。以下は、この記事に関係する重要なクラス、プロパティ、メソッドのリストです。
メンバー | 説明 |
Workbook クラス | Excel ワークブックモデルを表します。 |
Workbook.Worksheets.Add() メソッド | ワークブックにワークシートを追加します。 |
Workbook.SaveToFile() メソッド | ワークブックを Excel ドキュメントに保存します。 |
Worksheet クラス | ワークブックのワークシートを表します。 |
Worksheet.Range プロパティ | ワークシートから特定のセルまたはセル範囲を取得します。 |
Worksheet.Range.Value プロパティ | セルの値を取得または設定します。 |
Worksheet.Rows プロパティ | ワークシートの行のコレクションを取得します。 |
Worksheet.InsertDataTable() メソッド | データテーブルからデータをワークシートにインポートします。 |
CellRange クラス | ワークシートのセルまたはセル範囲を表します。 |
以下は、Spire.XLS for .NET を使用して Excel ドキュメントをゼロから作成する手順です。
using Spire.Xls;
using System.Data;
namespace CreateExcelSpreadsheet
{
class Program
{
static void Main(string[] args)
{
//Workbookオブジェクトを作成する
Workbook wb = new Workbook();
//デフォルトのワークシートを削除する
wb.Worksheets.Clear();
//ワークシートを追加して「社員」と名付ける
Worksheet sheet = wb.Worksheets.Add("社員");
//A1からG1までのセルを結合する
sheet.Range["A1:G1"].Merge();
//A1にデータを書き込み、それにフォーマットを適用する
sheet.Range["A1"].Value = "環宇自動車会社の従業員の基本情報";
sheet.Range["A1"].HorizontalAlignment = HorizontalAlignType.Center;
sheet.Range["A1"].VerticalAlignment = VerticalAlignType.Center;
sheet.Range["A1"].Style.Font.FontName = "Yu Gothic UI";
sheet.Range["A1"].Style.Font.IsBold = true;
sheet.Range["A1"].Style.Font.Size = 13F;
//最初の行の行の高さを設定する
sheet.Rows[0].RowHeight = 30F;
//DataTableを作成する
DataTable dt = new DataTable();
dt.Columns.Add("名前");
dt.Columns.Add("性別");
dt.Columns.Add("生年月日");
dt.Columns.Add("学歴");
dt.Columns.Add("連絡先");
dt.Columns.Add("役職");
dt.Columns.Add("ID");
dt.Rows.Add("アレン", "男性", "1990-02-10", "学士", "24756854", "整備士", "0021");
dt.Rows.Add("パトリック", "男性", "1985-06-08", "修士", "59863247", "整備士", "0022");
dt.Rows.Add("ジェナ", "女性", "1989-11-25", "学士", "79540352", "営業", "0023");
dt.Rows.Add("トミー", "男性", "1988-04-16", "修士", "52014060", "整備士", "0024");
dt.Rows.Add("クリスティーナ", "女性", "1998-01-21", "学士", "35401489", "人事", "0025");
//DataTableからワークシートにデータをインポートする
sheet.InsertDataTable(dt, true, 2, 1, true);
//フォントを設定する
sheet.AllocatedRange.Style.Font.FontName = "YU Gothic Medium";
sheet.AllocatedRange.Style.Font.Size = 12.0;
//範囲の行の高さを設定する
sheet.Range["A2:G7"].RowHeight = 20F;
//列幅を設定する
sheet.Range["A2:G7"].Columns[2].ColumnWidth = 15F;
sheet.Range["A2:G7"].Columns[3].ColumnWidth = 21F;
sheet.Range["A2:G7"].Columns[4].ColumnWidth = 15F;
//範囲の境界線スタイルを設定する
sheet.Range["A2:G7"].BorderAround(LineStyleType.Medium);
sheet.Range["A2:G7"].BorderInside(LineStyleType.Thin);
sheet.Range["A2:G2"].BorderAround(LineStyleType.Medium);
sheet.Range["A2:G7"].Borders.KnownColor = ExcelColors.Black;
//新しい.xlsxファイルとして保存する
wb.SaveToFile("新しいワークブック.xlsx", FileFormat.Version2016);
wb.Dispose();
}
}
}
Worksheet.Range.Value プロパティは、セルの数値またはテキスト値を文字列として返します。ワークシート全体またはセル範囲のデータを取得するには、その中のセルをループします。以下は、Spire.XLS for .NET を使用してワークシートのデータを取得する手順です。
using Spire.Xls;
namespace ReadExcelData
{
class Program
{
static void Main(string[] args)
{
//Workbookオブジェクトを作成する
Workbook wb = new Workbook();
//既存のExcelファイルを読み込む
wb.LoadFromFile("新しいワークブック.xlsx");
//最初のワークシートを取得する
Worksheet sheet = wb.Worksheets[0];
//データが含まれているセル範囲を取得する
CellRange locatedRange = sheet.AllocatedRange;
//行を繰り返し処理する
for (int i = 0; i < locatedRange.Rows.Length; i++)
{
//列を繰り返し処理する
for (int j = 0; j < locatedRange.Rows[i].ColumnCount; j++)
{
//特定のセルのデータを取得する
Console.Write(locatedRange[i + 1, j + 1].Value + " ");
}
Console.WriteLine();
}
}
}
}
あるセルの値を変更するには、Worksheet.Range.Value プロパティで値を割り当て直すだけです。以下はその詳細な手順です。
using Spire.Xls;
namespace UpdateCellValue
{
class Program
{
static void Main(string[] args)
{
//Workbookオブジェクトを作成する
Workbook wb = new Workbook();
//既存のExcelファイルを読み込む
wb.LoadFromFile("新しいワークブック.xlsx");
//最初のワークシートを取得する
Worksheet sheet = wb.Worksheets[0];
//特定のセルの値を変更する
sheet.Range["A1"].Value = "更新された値";
//ファイルに保存する
wb.SaveToFile("更新されたExcelファイル.xlsx", ExcelVersion.Version2016);
wb.Dispose();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Excel ファイルを他の人と共有したり、組織外にファイルを送信したりする場合、機密データを変更、移動、または削除されないように保護したい場合があります。内容の偶発的または意図的な変更を防止する最も簡単な方法は、ワークシートの編集を制限するか、ワークブック全体をパスワードで保護することです。この記事では、Spire.XLS for .NET を使用して、C# でワークブックやワークシートを保護したり保護解除したりする方法について説明します。
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
Excel ドキュメントをパスワードで暗号化することで、あなた自身と権限を持つ個人だけがそのドキュメントを読んだり編集したりできるようになります。以下は、Spire.XLS for .NET を使用してワークブックをパスワードで保護する手順です。
using Spire.Xls;
namespace PasswordProtectWorkbook
{
class Program
{
static void Main(string[] args)
{
// Workbookオブジェクトを作成します
Workbook workbook = new Workbook();
// Excelファイルをロードします
workbook.LoadFromFile("Sample.xlsx");
// パスワードでワークブックを保護します
workbook.Protect("psd-123");
// ワークブックを別のExcelファイルに保存します
workbook.SaveToFile("暗号化されたワークブック.xlsx", ExcelVersion.Version2016);
workbook.Dispose();
}
}
}
Excel ドキュメントの閲覧は許可するが、ワークシートの変更は制限したい場合、特定の保護タイプでワークシートを保護することができます。以下の表は、SheetProtectionType 列挙の下で定義済みのさまざまな保護タイプの一覧です。
保護の種類 | ユーザーができること |
Content | 内容を修正または挿入する。 |
DeletingColumns | 列を削除する。 |
DeletingRows | 行を削除する。 |
Filtering | フィルターを設定する。 |
FormattingCells | セルの書式を設定する。 |
FormattingColumns | 列の書式を設定する。 |
FormattingRows | 行の書式を設定する。 |
InsertingColumns | 列を挿入する。 |
InsertingRows | 行を挿入する。 |
InsertingHyperlinks | ハイパーリンクを挿入する。 |
LockedCells | ロックされたセルを選択する。 |
UnlockedCells | ロックされていないセルを選択する。 |
Objects | 描画オブジェクトを修正する。 |
Scenarios | 保存されたシナリオを修正する。 |
Sorting | データを並べ替える。 |
UsingPivotTables | ピボットテーブルとピボットチャートを使用する。 |
All | 保護されたワークシート上で上記の操作をすべて行う。 |
None | 保護されたワークシート上で何も操作しない。 |
以下は、Spire.XLS for .NET を使用して、特定の保護タイプでワークシートを保護する手順です。
using Spire.Xls;
namespace ProtectWorksheetWithSpecificProtectionType
{
class Program
{
static void Main(string[] args)
{
// Workbookオブジェクトを作成します
Workbook workbook = new Workbook();
// Excelファイルをロードします
workbook.LoadFromFile("Sample.xlsx");
// 特定のワークシートを取得します
Worksheet worksheet = workbook.Worksheets[0];
// パーミッションパスワードと特定の保護タイプでワークシートを保護します
worksheet.Protect("psd-permission", SheetProtectionType.None);
// ワークブックを別のExcelファイルに保存します
workbook.SaveToFile("保護されたワークシート.xlsx", ExcelVersion.Version2016);
workbook.Dispose();
}
}
}
場合によっては、保護されたワークシートで選択した範囲をユーザーが編集できるようにする必要があるかもしれません。以下の手順は、その方法を示しています。
using Spire.Xls;
namespace AllowEditRanges
{
class Program
{
static void Main(string[] args)
{
// Workbookオブジェクトを作成します
Workbook workbook = new Workbook();
// Excelファイルをロードします
workbook.LoadFromFile("Sample.xlsx");
// 最初のワークシートを取得します
Worksheet sheet = workbook.Worksheets[0];
// 編集を許可する範囲を追加します
sheet.AddAllowEditRange("範囲1", sheet.Range["A5:A6"]);
sheet.AddAllowEditRange("範囲2", sheet.Range["A8:B11"]);
// パスワードと保護タイプでワークシートを保護します
sheet.Protect("psd-permission", SheetProtectionType.All);
// ワークブックを別のExcelファイルに保存します
workbook.SaveToFile("範囲の編集を許可.xlsx", ExcelVersion.Version2016);
workbook.Dispose();
}
}
}
パスワードで保護されたワークシートの保護を解除するには、Worksheet.Unprotect() メソッドを呼び出し、元のパスワードをパラメータとして渡します。詳細な手順は以下のとおりです。
using Spire.Xls;
namespace UnprotectWorksheet
{
class Program
{
static void Main(string[] args)
{
// Workbookオブジェクトを作成します
Workbook workbook = new Workbook();
// 保護されたワークシートを含むExcelファイルをロードします
workbook.LoadFromFile("保護されたワークシート.xlsx");
// 最初のワークシートを取得します
Worksheet sheet = workbook.Worksheets[0];
// 指定したパスワードを使用してワークシートの保護を解除します
sheet.Unprotect("psd-permission");
// ワークブックを別のExcelファイルに保存します
workbook.SaveToFile("保護されていないワークシート.xlsx", ExcelVersion.Version2016);
workbook.Dispose();
}
}
}
暗号化されたワークブックのパスワードを削除またはリセットするには、それぞれ Workbook.Unprotect() メソッドと Workbook.Protect() メソッドを使用します。以下のステップでは、暗号化されたExcelドキュメントをロードし、そのパスワードを削除または変更する方法を示します。
using Spire.Xls;
namespace RemoveOrResetPassword
{
class Program
{
static void Main(string[] args)
{
// Workbookオブジェクトを作成します
Workbook workbook = new Workbook();
// 開くパスワードを指定します
workbook.OpenPassword = "psd-123";
// 暗号化されたExcelファイルをロードします
workbook.LoadFromFile("Encrypted.xlsx");
// ワークブックの保護を解除します
workbook.UnProtect();
// パスワードをリセットします
// workbook.Protect("newpassword");
// ワークブックを別のExcelファイルに保存します
workbook.SaveToFile("保護されないワークブック.xlsx", ExcelVersion.Version2016);
workbook.Dispose();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
目盛線(グリッド線)は、Excel のワークシートでセルを区別するために使用されるかすかな線です。目盛線があることで、ユーザーは各セルの境界を簡単に見分けることができ、データを整理して読むことができます。しかし、場合によっては目盛線が邪魔になることもあります。この記事では、Spire.XLS for .NET を使用して、Excel ワークシートの目盛線を表示または非表示(削除)にする方法について説明します。
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
Spire.XLS for .NET は、Excel ワークシートに目盛線が表示されるかどうかを取得または設定する Worksheet.GridLinesVisible プロパティを提供します。このプロパティを true または false に設定することで、開発者は目盛線を表示するかどうかを制御できます。
エクセルのワークシートで目盛線を隠したり表示したりする詳しい手順は以下の通りです。
using Spire.Xls;
namespace RemoveGridlines
{
class Program
{
static void Main(string[] args)
{
//Workbookオブジェクトを作成
Workbook workbook = new Workbook();
//サンプルのExcelドキュメントを読み込む
workbook.LoadFromFile("Sample.xlsx");
//最初のワークシートを取得
Worksheet worksheet = workbook.Worksheets[0];
//指定したワークシートのグリッド線を非表示にする
worksheet.GridLinesVisible = false;
//指定したワークシートのグリッド線を表示する
//worksheet.GridLinesVisible = true;
//ドキュメントを保存
workbook.SaveToFile("Excelワークシートの目盛線.xlsx", ExcelVersion.Version2010);
workbook.Dispose();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
CSV は、アプリケーション間で表形式のデータを交換する際によく使われるファイル形式の 1 つです。しかし、状況によっては、CSV が最も適切なファイル形式でない場合もあります。例えば、重要な顧客に送信する必要がある CSV レポートがある場合、顧客のデバイス上でファイルがそのまま表示されるようにする最善の方法は、PDF に変換することです。この記事では、C# と .NET で Spire.XLS for .NET を使用して CSV を PDF に変換する方法を紹介します。
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
Spire.XLS for .NET には、CSV ファイルをロードする Workbook.LoadFromFile(filePath, separator) メソッドと、ファイルを PDF ドキュメントに保存する Worksheet.SaveToPdf() メソッドがあります。これらの 2 つのメソッドを使用することで、開発者は、任意の CSV ファイルを PDF 文書に楽々変換することができます。
CSV ファイルにはフォーマット設定が含まれていないことに注意すべきである。整形された変換結果を確実にするためには、CSV ファイルを PDF 文書として保存する前に、行や列のオートフィットのような、いくつかの基本的なフォーマット設定を行う方がよいでしょう。
詳しい手順は以下の通りです。
using Spire.Xls;
namespace ConvertCsvToPdf
{
class Program
{
static void Main(string[] args)
{
//Workbookインスタンスを作成
Workbook wb = new Workbook();
//CSVファイルを読み込む
wb.LoadFromFile("Sample.csv", ",");
//Worksheetが1つのPDFページに変換されるようにSheetFitToPageプロパティをtrueに設定
wb.ConverterSetting.SheetFitToPage = true;
//最初のワークシートを取得
Worksheet sheet = wb.Worksheets[0];
//ワークシート内の列をループ
for (int i = 1; i < sheet.Columns.Length; i++)
{
//列を自動調整
sheet.AutoFitColumn(i);a
}
//ワークシートをPDFに保存
sheet.SaveToPdf("CSVをPDFに変換.pdf");
wb.Dispose();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Excel ファイルでは、数値データを視覚化するためにチャートが一般的に使用されます。場合によっては、Excel ファイル内のチャートを画像として保存し、他のプログラムや PDF、PowerPoint プレゼンテーションなどのファイルで使用する必要があります。この記事では、C# で Spire.XLS for .NET を使用して Excel のチャートを画像に変換する方法を示します。
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
Spire.XLS for .NET は、指定したワークシート内の特定のチャートを画像に変換するための Workbook.SaveChartAsImage(Worksheet worksheet, int chartIndex) メソッドを提供します。以下は詳細な手順です:
using Spire.Xls;
using System.Drawing;
using System.Drawing.Imaging;
namespace ConvertAExcelChartToImage
{
internal class Program
{
static void Main(string[] args)
{
// Workbookクラスのインスタンスを初期化する
Workbook workbook = new Workbook();
// Excelファイルを読み込む
workbook.LoadFromFile("Sample.xlsx");
// 最初のワークシートを取得する
Worksheet sheet = workbook.Worksheets[0];
// 最初のワークシートの最初のチャートを画像として保存する
Image image = workbook.SaveChartAsImage(sheet, 0);
// 画像を.pngファイルとして保存する
image.Save(@"output\chart.png", ImageFormat.Png);
workbook.Dispose();
}
}
}
Excel ワークシート内のすべてのチャートを画像に変換するには、Workbook.SaveChartAsImage(Worksheet worksheet) メソッドを使用できます。以下は詳細な手順です:
using Spire.Xls;
using System.Drawing;
using System.Drawing.Imaging;
namespace ConvertAllExcelChartsToImages
{
internal class Program
{
static void Main(string[] args)
{
// Workbookクラスのインスタンスを初期化する
Workbook workbook = new Workbook();
// サンプルExcelファイルを読み込む
workbook.LoadFromFile("Sample.xlsx");
// 最初のワークシートを取得する
Worksheet sheet = workbook.Worksheets[0];
// 最初のワークシートのチャートを画像として保存する
Image[] imgs = workbook.SaveChartAsImage(sheet);
// 画像をpngファイルとして保存する
for (int i = 0; i < imgs.Length; i++)
{
imgs[i].Save(string.Format(@"output\images\chart-{0}.png", i), ImageFormat.Png);
}
workbook.Dispose();
}
}
}
Excel のチャートシートを画像に変換するには、Workbook.SaveChartAsImage(ChartSheet chartSheet) メソッドを使用できます。以下は詳細な手順です:
using Spire.Xls;
using System.Drawing;
using System.Drawing.Imaging;
namespace ConvertExcelChartSheetToImage
{
internal class Program
{
static void Main(string[] args)
{
// Workbookクラスのインスタンスを初期化する
Workbook workbook = new Workbook();
// サンプルExcelファイルを読み込む
workbook.LoadFromFile("Sample.xlsx");
// 最初のチャートシートを取得する
ChartSheet chartSheet = workbook.GetChartSheetByName("Chart1");
// 最初のチャートシートを画像として保存する
Image image = workbook.SaveChartAsImage(chartSheet);
// 画像を.pngファイルとして保存する
image.Save(@"output\chartSheet.png", ImageFormat.Png);
workbook.Dispose();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。