チュートリアル

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

Koohji

Koohji

Excel を HTML に変換すると、スプレッドシートのデータをサイトに簡単に埋め込むことができ、また、他の人が Excel を開かずにブラウザで表をオンラインで見ることができるようになります。今回は、Spire.XLS for C++ を使用して Excel を HTML に変換する方法を紹介します。

Spire.XLS for C++ をインストールします

Spire.XLS for C++ をアプリケーションに組み込むには、2つの方法があります。一つは NuGet 経由でインストールする方法、もう一つは当社のウェブサイトからパッケージをダウンロードし、ライブラリをプログラムにコピーする方法です。NuGet 経由のインストールの方が便利で、より推奨されます。詳しくは、以下のリンクからご覧いただけます。

Spire.XLS for C++ を C++ アプリケーションに統合する方法

Excel ワークブック全体を HTML に変換する

Spire.XLS for C++ が提供する Workbook->SaveToHtml() メソッドを使用すると、ワークブック全体を HTML に変換することができます。以下、詳しい手順を説明します。

  • Workbook のオブジェクトを作成します。
  • Workbook->LoadFromFile() メソッドを使用して、Excel ファイルを読み込みます。
  • Workbook->SaveToHtml() メソッドを使用して、Excel ワークブック全体を HTML ファイルとして保存します。
  • C++
#include "Spire.Xls.o.h";

using namespace Spire::Xls;

int main() {

	//Workbookのオブジェクトを作成する
	Workbook* workbook = new Workbook();

	//Excelファイルを読み込む
	workbook->LoadFromFile(L"C:/売上請求書追跡.xlsx");

	//Excelワークブック全体をHtmlに保存する
	workbook->SaveToHtml(L"ExcelからHTMLへの変換.html");
	workbook->Dispose();
}

C++:Excel を HTML に変換する方法

特定のワークシートを画像が埋め込まれた HTML に変換する

ワークシート内の画像を HTML コードに埋め込みながら変換したい場合は、HTMLOptions->SetImageEmbedded() メソッドのパラメータを true に設定することで可能です。以下、詳しい手順を説明します。

  • Workbook のオブジェクトを作成します。
  • Workbook->LoadFromFile() メソッドを使用して、Excel ファイルを読み込みます。
  • Workbook->GetWorksheets()->Get() メソッドを使用して、特定のワークシートを取得します。
  • HTMLOptions のインスタンスを作成し、HTMLOptions->SetImageEmbedded(true) メソッドを使用して画像埋め込みを有効にします。
  • Worksheet->SaveToHtml(LPCWSTR_S fileName, HTMLOptions* saveOption) メソッドを使用して、画像を埋め込んだ状態でワークシートを HTML に保存します。
  • C++
#include "Spire.Xls.o.h";

using namespace Spire::Xls;

int main() {

	//Workbookのオブジェクトを作成する
	Workbook* workbook = new Workbook();

	//Excelファイルを読み込む
	workbook->LoadFromFile(L"C:/売上請求書追跡.xlsx");

	//最初のワークシートを取得する
	Worksheet* sheet = workbook->GetWorksheets()->Get(0);

	//埋め込み画像をtrueに設定する
	HTMLOptions* options = new HTMLOptions();
	options->SetImageEmbedded(true);

	//ワークシートをHTMLに保存する
	sheet->SaveToHtml(L"ExcelからHTMLへの変換.html", options);
	workbook->Dispose();
}

C++:Excel を HTML に変換する方法

特定のワークシートを HTML ストリームに変換する

Spire.XLS for C++ では、Worksheet->SaveToHtml(Stream* stream, HTMLOptions* saveOption) メソッドを使用して、ワークシートを HTML ストリームに変換することもできます。以下、詳しい手順を説明します。

  • Workbook のオブジェクトを作成します。
  • Workbook->LoadFromFile() メソッドを使用して、Excel ファイルを読み込みます。
  • Workbook->GetWorksheets()->Get() メソッドを使用して、特定のワークシートを取得します。
  • HTMLOptions のインスタンスを作成し、HTMLOptions->SetImageEmbedded(true) メソッドを使用して画像の埋め込みを有効にします。
  • Worksheet->SaveToHtml(Stream* stream, HTMLOptions* saveOption) メソッドでストリームを作成し、画像を埋め込んだ HTML ストリームにワークシートを保存します。
  • C++
#include "Spire.Xls.o.h";

using namespace Spire::Xls;

int main() {

	//Workbookのオブジェクトを作成する
	Workbook* workbook = new Workbook();

	//Excelファイルを読み込む
	workbook->LoadFromFile(L"C:/売上請求書追跡.xlsx");

	//最初のワークシートを取得する
	Worksheet* sheet = workbook->GetWorksheets()->Get(0);

	//埋め込み画像をtrueに設定する
	HTMLOptions* options = new HTMLOptions();
	options->SetImageEmbedded(true);

	//ストリームを作成する
	Stream* stream = new Stream();

	//ワークシートをhtmlストリームに保存する
	sheet->SaveToHtml(stream, options);
	workbook->Dispose();

	stream->Save(L"Output/ストリーム.html");
}

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

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

Word ドキュメントを扱う際、新しいドキュメントを作成するためやその他の目的で、ドキュメントからテキストや画像を抽出する必要があることがよくあります。 テキストをコピーしたり、画像を保存したりする作業をひとつひとつ手作業で行うと、非常に時間がかかり、ミスや漏れが発生しやすくなります。 この記事では、Spire.Doc for C++ を使って、プログラム的に Word ドキュメントからテキストや画像を素早く抽出する方法について説明します。

Spire.PDF for C++ をインストールします

Spire.Doc for C++ をアプリケーションに組み込むには、2つの方法があります。一つは NuGet 経由でインストールする方法、もう一つは当社のウェブサイトからパッケージをダウンロードし、ライブラリをプログラムにコピーする方法です。NuGet 経由のインストールの方が便利で、より推奨されます。詳しくは、以下のリンクからご覧いただけます。

Spire.Doc for C++ を C++ アプリケーションに統合する方法

Word ドキュメントからテキストを抽出する

Spire.Doc for C++ の Document->GetText() メソッドは、Word ドキュメント内の全てのテキストを取得することができます。 ここでは、Word ドキュメントからテキストを抽出し、TXT ファイルとして保存する方法を詳しく説明します。

  • Document のオブジェクトを作成します。
  • Document->LoadFromFile() メソッドを使用して、Word ドキュメントを読み込みます。
  • Document->GetText() メソッドを使用して、ドキュメントのすべてのテキストを取得します。
  • TXT ファイルを作成し、抽出されたテキスト内容を書き込みます。
  • C++
#include "Spire.Doc.o.h"

#include <iostream>
#include <locale>
#include <codecvt>
using namespace Spire::Doc;
using namespace std;

int main()
{
	//Documentのオブジェクトを作成する
	Document* document = new Document();

	//Wordドキュメントを読み込む
	document->LoadFromFile(L"C:/宇宙からの視点.docx");

	//ドキュメントのテキストを取得する
	wstring text = document->GetText();

	//TXTファイルを作成し、抽出したテキストを書き込む
	wofstream write(L"Output/テキストの抽出.txt");
	auto LocUtf8 = locale(locale(""), new std::codecvt_utf8<wchar_t>);
	write.imbue(LocUtf8);
	write << text;
	write.close();
	document->Close();
	delete document;
}

C++:Word ドキュメントからテキストと画像を抽出する方法

Word ドキュメントから画像を抽出する

Word ドキュメントの画像を抽出するには、ドキュメントの各サブオブジェクトが画像であるかどうかを判断し、DocPicture->GetImage() を使用して画像を抽出する必要があります。 以下はその詳細な手順です。

  • Document のオブジェクトを作成します。
  • Document->LoadFromFile() メソッドを使用して Word ドキュメントを読み込みます。
  • ドキュメントを deque キューの末尾に付け、ベクターイメージのリストを作成します。
  • ドキュメントのすべてのサブオブジェクトをループし、各サブオブジェクトが画像であるかどうかを判断します。 もしそうなら、DocPicture->GetImage() メソッドを使用して画像を取得し、リストに追加します。
  • 取り出した画像を指定したパスに保存します。
  • C++
#include "Spire.Doc.o.h"
#include <deque>

using namespace Spire::Doc;

int main() {

	//Documentのオブジェクトを作成する
	Document* document = new Document();

	//Wordドキュメントを読み込む
	document->LoadFromFile(L"C:/宇宙からの視点.docx");

	//dequeキューの末尾にドキュメントを追加する
	std::deque<ICompositeObject*> nodes;
	nodes.push_back(document);

	//ベクターグラフィックのリストを作成する
	std::vector<Image*> images;

	//ドキュメントのすべての子オブジェクトをループする
	while (nodes.size() > 0)
	{
		ICompositeObject* node = nodes.front();
		nodes.pop_front();
		for (int i = 0; i < node->GetChildObjects()->GetCount(); i++)
		{
			IDocumentObject* child = node->GetChildObjects()->GetItem(i);

			//すべての画像を取得し、リストに追加する
			if (child->GetDocumentObjectType() == DocumentObjectType::Picture)
			{
				DocPicture* picture = dynamic_cast<DocPicture*>(child);
				images.push_back(picture->GetImage());
			}
			else if (dynamic_cast<ICompositeObject*>(child) != nullptr)
			{
				nodes.push_back(dynamic_cast<ICompositeObject*>(child));
			}

		}
	}

	//指定したパスに画像を保存する
	for (int i = 0; i < images.size(); i++)
	{
		std::wstring fileName = L"画像-" + std::to_wstring(i) + L".png";
		images[i]->Save((L"Output/画像/" + fileName).c_str(), ImageFormat::GetPng());
	}
	document->Close();
	delete document;
}

C++:Word ドキュメントからテキストと画像を抽出する方法

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

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

Spire.Office for Java 8.3.6のリリースを発表できることをうれしく思います。このリリースでは、Spire.PDF for JavaはPDFの印刷スケーリング機能をサポートしています。Spire.Doc for Javaは改訂された時間を変更する機能を追加しました。Spire.XLS for JavaはExcelを独立したHTMLファイルに変換することや、セル内の一部のテキストを置換する機能をサポートしています。Spire.Presentation for Java はDPTおよびDPSファイル形式をサポートしています。さらに、多くの既知のバグが正常に修正されました。詳細は以下の内容を読んでください。

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

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

Spire.Doc for Java

カテゴリー ID 説明
New feature SPIREDOC-8859 改訂された時間を変更する機能が追加されました。
SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String dateString = "2023/3/1 00:00:00";
Date date = formatter.parse(dateString);
revison.setDateTime(date);
Bug SPIREDOC-8645 WordをPDFに変換した後、表の内容が正しくない問題が修正されました。
Bug SPIREDOC-8960 WordをPDFに変換すると、空白が多くなる問題が修正されました。
Bug SPIREDOC-8855 WordをPDFに変換すると、SmartArt内のテキストが不完全に表示される問題が修正されました。
Bug SPIREDOC-8866 WordをPDFに変換した後、SmartArtが失われていた問題が修正されました。
Bug SPIREDOC-8928 固定された列と幅を設定すると、表が乱れる問題が修正されました。
Bug SPIREDOC-8975 取得したドキュメントのページ数が正しくない問題が修正されました。
Bug SPIREDOC-8978 カタログの更新後にカタログスタイルが変更された問題が修正されました。
Bug SPIREDOC-9036 WordをPDFに変換する際にアプリケーションが「NullPointerException」をスローする問題が修正されました。
Bug SPIREDOC-9037 新しいドキュメントとして保存した後、MS Wordで結果ドキュメントを開いたときにエラーがスローする問題が修正されました。
Bug SPIREDOC-9056 繰り返し設定ProtectionType.Allow_Only_Revisions後、ドキュメントが編集できない問題が修正されました。
Bug SPIREDOC-9085 新しいドキュメントとして保存した後、MS Wordで結果ドキュメントを開く際に改行が一致しなかった問題が修正されました。
Bug SPIREDOC-9086 RTFをPDFに変換すると改行スタイルが失われる問題が修正されました。
Bug SPIREDOC-9110 セクションをコピーした後、ドキュメントのフォーマットが元のドキュメントと一致しない問題が修正されました。
Bug SPIREDOC-9138 RTFをWordに変換した後、内容が一致しなかった問題が修正されました。

Spire.PDF for Java

カテゴリー ID 説明
New feature SPIREPDF-5796 PDF印刷時のメモリ消費を最適化しました。
New feature SPIREPDF-5833 PDFの印刷スケーリング機能をサポートしました。
pdfDocument.getPrintSettings().selectSinglePageLayout
(PdfSinglePageScalingMode.Custom_Sacle, true, customScaling);
Bug SPIREPDF-5536 表の内容を抽出する際にアプリケーションが「java.lang.NullPointerException」をスローする問題が修正されました。
Bug SPIREPDF-5558 CSVに表を抽出する時、一部の文字間のスペースが失われる問題を修正しました。
Bug SPIREPDF-5750 文書をロードまたは再保存した後、印章が消える問題を修正しました。
Bug SPIREPDF-5762 暗号化されたPDF文書を保存するときに、アプリケーションが「NullPointerException」をスローする問題を修正しました。
Bug SPIREPDF-5803 PDFフォームを平坦化した後、チェックボックスの位置が変わる問題を修正しました。
Bug SPIREPDF-5822 Squareタイプの注釈の透明度を設定できない問題を修正しました。
Bug SPIREPDF-5827 ライセンスを適用した後にPDFをPDFA1Bに変換する際、アプリケーションが「OutOfMemoryError」をスローする問題を修正しました。
Bug SPIREPDF-5834 イタリア語環境下でPDFをPDFA3Aに変換するときに、アプリケーションが「Invalid date string」をスローする問題を修正しました。

Spire.XLS for Java

カテゴリー ID 説明
New feature SPIREXLS-3537 Excelを独立したHTMLファイルに変換することができます。
Workbook wb = new Workbook();
wb.loadFromFile("data/mytest.xlsx");
HTMLOptions.Default.isStandAloneHtmlFile(true);
wb.saveToFile("result.html", FileFormat.HTML);
New feature SPIREXLS-3791 Excel全体をHTMLストリームに保存することができます。
Workbook wb = new Workbook();
wb.loadFromFile("data/mytest.xlsx");
FileOutputStream fileStream = new FileOutputStream("output/saveStream_result.html");
wb.saveToStream(fileStream, FileFormat.HTML);
fileStream.close();
New feature SPIREXLS-4385 ピボットテーブルのピボットフィールドとデータフィールドに条件付き書式を追加することができます。
PivotTable table = (PivotTable)worksheet.getPivotTables().get(0);
PivotConditionalFormatCollection pcfs = table.getPivotConditionalFormats();
PivotConditionalFormat pc = pcfs.addPivotConditionalFormat(table.getColumnFields().get(0));
//PivotConditionalFormat pc = pcfs.addPivotConditionalFormat(table.getRowFields().get(0));
//PivotConditionalFormat pc = pcfs.addPivotConditionalFormat(table.getDataFields().get(0));
//PivotConditionalFormat pc = pcfs.addPivotConditionalFormat(table.getPageFields().get(0));
IConditionalFormat cf = pc.addCondition();
cf.setFormatType(ConditionalFormatType.ContainsBlanks);
cf.setFillPattern(ExcelPatternType.Solid);
cf.setBackColor(Color.Red);
New feature SPIREXLS-4513 セル内の一部のテキストを置換する機能がサポートされています。
sheet.getCellList().get(0).textPartReplace("Office", "Spire");
Bug SPIREXLS-4489 グラフを画像に変換する際にガイド線が失われていた問題が修正されました。
Bug SPIREXLS-4490 Excelを画像に変換する際にデータ位置が一部下に移動していた問題が修正されました。
Bug SPIREXLS-4508 Excelを画像に変換する際に二重下線が一重下線になる問題が修正されました。
Bug SPIREXLS-4510 Excelにフッターを追加すると、アプリケーションが「java.lang.NullPointerException」をスローする問題が修正されました。
Bug SPIREXLS-4511 ExcelをPDFに変換すると、アプリケーションが「Invalid sectionId of Header Footer image」をスローする問題が修正されました。
Bug SPIREXLS-4514 Excelを画像に変換する際にプログレスバーのカラーが失われていた問題が修正されました。
Bug SPIREXLS-4537 グラフを画像に変換する際のX軸データのずれの問題が修正されました。
Bug SPIREXLS-4547 ExcelをPDFに変換したときのドキュメントの内容が正しくない問題が修正されました。

Spire.Presentation for Java

カテゴリー ID 説明
New feature SPIREPPT-2203 DPTおよびDPSファイル形式をサポートしています。
Presentation presentation = new Presentation();
presentation.loadFromFile("sample.dps", FileFormat.DPS);
presentation.saveToFile("result.dpt", FileFormat.DPT);
Bug SPIREPPT-2204 ストリームとしてドキュメントをロードするときに例外をスローする動作を最適化しました。
Bug SPIREPPT-2132 HTMLをPPTに変換する際に、フォントが間違っている問題が修正されました。
Bug SPIREPPT-2171 PPTドキュメントをロードする際にアプリケーションが「Unknown file format」をスローする問題が修正されました。
Bug SPIREPPT-2206 PPTを画像に変換する際に、棒グラフの色が正しくない問題が修正されました。
Bug SPIREPPT-2207 ppt.getBytes()メソッドを実行すると、アプリケーションが例外をスローする問題が修正されました。
月, 27 3月 2023 02:24

C++:PDF を画像に変換する

PDF 形式は多くの場合に適していますが、画像に変換する必要がある場合もあります。PDF を画像に変換することで、ソーシャルメディアに公開したり、画像表示しかできないデバイスにアップロード・転送することができます。また、Word ドキュメントや PowerPoint プレゼンテーションにも埋め込むことが可能です。この記事では、Spire.PDF for C++ を使用して C++ で PDF を画像に変換する方法について説明します。

Spire.PDF for C++ をインストールします

Spire.PDF for C++ をアプリケーションに組み込むには、2つの方法があります。一つは NuGet 経由でインストールする方法、もう一つは当社のウェブサイトからパッケージをダウンロードし、ライブラリをプログラムにコピーする方法です。NuGet 経由のインストールの方が便利で、より推奨されます。詳しくは、以下のリンクからご覧いただけます。

Spire.PDF for C++ を C++ アプリケーションに統合する方法

特定のページを画像に変換する

Spire.PDF for C++ の PdfDocument->SaveAsImage(int pageIndex) メソッドは特定のページを画像ストリームに変換することをサポートします。ストリームは、PNG、JPG、BMP などの目的の拡張子を持つ画像ファイルとして保存できます。詳細な手順は次のとおりです。

  • PdfDocument インスタンスを作成します。
  • PdfDocument->LoadFromFile() メソッドを使用して PDF ファイルをロードします。
  • PdfDocument->SaveAsImage() メソッドを使用して、特定のページを画像ストリームに変換します。
  • Stream->Save() メソッドを使用して、画像ストリームを JPG ファイルとして保存します。
  • C++
#include "Spire.Pdf.o.h";

using namespace Spire::Pdf;
using namespace std;

int main() {

	//入力と出力のパスを指定する
	wstring inputFile = L"C:\\Users\\Administrator\\Desktop\\sample.pdf";
	wstring outputFile = L"C:\\Users\\Administrator\\Desktop\\Output\\ToImage";

	//PdfDocumentオブジェクトを作成する
	PdfDocument* doc = new PdfDocument();

	//PDFファイルをロードする
	doc->LoadFromFile(inputFile.c_str());

	//特定のページを画像に変換する
	Stream* image = doc->SaveAsImage(0, PdfImageType::Bitmap);

	//画像を.jpgファイルに書き込む
	wstring fileName = outputFile + L".jpg";
	image->Save(fileName.c_str());

	doc->Close();
	delete doc;
}

C++:PDF を画像に変換する

PDF 全体を複数の画像に変換する

PDF 全体を個別の画像として保存するには、変換部分をループ文に入れるだけです。以下に詳細な手順を示します。

  • PdfDocument インスタンスを作成します。
  • PdfDocument->LoadFromFile() メソッドを使用して PDF ファイルをロードします。
  • ファイル内のページをループし、PdfDocument->SaveAsImage(int pageIndex) メソッドを使用して各ページを画像ストリームに変換します。
  • Stream->Save() メソッドを使用して、画像ストリームを JPG ファイルとして保存します。
  • C++
#include "Spire.Pdf.o.h";

using namespace Spire::Pdf;
using namespace std;

int main() {

	//入力と出力のパスを指定する
	wstring inputFile = L"C:\\Users\\Administrator\\Desktop\\sample.pdf";
	wstring outputFile = L"C:\\Users\\Administrator\\Desktop\\Output\\ToImg-";

	//PdfDocumentオブジェクトを作成する
	PdfDocument* doc = new PdfDocument();

	//PDFファイルをロードする
	doc->LoadFromFile(inputFile.c_str());

	//ファイルのページをループする
	for (int i = 0; i < doc->GetPages()->GetCount(); i++) {

		//特定のページを画像として保存
		Stream* image = doc->SaveAsImage(i);

		//画像を.jpgファイルに書き込む
		wstring fileName = outputFile + to_wstring(i) + L".jpg";
		image->Save(fileName.c_str());
	}
	doc->Close();
	delete doc;
}

C++:PDF を画像に変換する

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

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

Spire.Doc for Java 11.3.11のリリースを発表できることを嬉しく思います。このバージョンでは、改訂された時間を変更する機能が追加されました。WordからPDFへの変換機能が強化されました。また、取得したドキュメントのページ数が正しくないなど、既知の問題も修正れました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature SPIREDOC-8859 改訂された時間を変更する機能が追加されました。
SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String dateString = "2023/3/1 00:00:00";
Date date = formatter.parse(dateString);
revison.setDateTime(date);
Bug SPIREDOC-8645 WordをPDFに変換した後、表の内容が正しくない問題が修正されました。
Bug SPIREDOC-8960 WordをPDFに変換すると、空白が多くなる問題が修正されました。
Bug SPIREDOC-8855 WordをPDFに変換すると、SmartArt内のテキストが不完全に表示される問題が修正されました。
Bug SPIREDOC-8866 WordをPDFに変換した後、SmartArtが失われていた問題が修正されました。
Bug SPIREDOC-8928 固定された列と幅を設定すると、表が乱れる問題が修正されました。
Bug SPIREDOC-8975 取得したドキュメントのページ数が正しくない問題が修正されました。
Bug SPIREDOC-8978 カタログの更新後にカタログスタイルが変更された問題が修正されました。
Bug SPIREDOC-9036 WordをPDFに変換する際にアプリケーションが「NullPointerException」をスローする問題が修正されました。
Bug SPIREDOC-9037 新しいドキュメントとして保存した後、MS Wordで結果ドキュメントを開いたときにエラーがスローする問題が修正されました。
Bug SPIREDOC-9056 繰り返し設定ProtectionType.Allow_Only_Revisions後、ドキュメントが編集できない問題が修正されました。
Bug SPIREDOC-9085 新しいドキュメントとして保存した後、MS Wordで結果ドキュメントを開く際に改行が一致しなかった問題が修正されました。
Bug SPIREDOC-9086 RTFをPDFに変換すると改行スタイルが失われる問題が修正されました。
Bug SPIREDOC-9110 セクションをコピーした後、ドキュメントのフォーマットが元のドキュメントと一致しない問題が修正されました。
Bug SPIREDOC-9138 RTFをWordに変換した後、内容が一致しなかった問題が修正されました。
ここで Spire.Doc for Java 11.3.11をダウンロードする

Spire.Presentation for Java 8.3.2のリリースを発表できることをうれしく思います。このバージョンは、DPTおよびDPSファイル形式をサポートしています。今回の更新では、HTMLからPPT、PPTから画像への変換機能も強化されました。また、PPTドキュメントをロードする際にアプリケーションが「Unknown file format」をスローするなど、既知の問題も修正されました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature SPIREPPT-2203 DPTおよびDPSファイル形式をサポートしています。
Presentation presentation = new Presentation();
presentation.loadFromFile("sample.dps", FileFormat.DPS);
presentation.saveToFile("result.dpt", FileFormat.DPT);
Bug SPIREPPT-2204 ストリームとしてドキュメントをロードするときに例外をスローする動作を最適化しました。
Bug SPIREPPT-2132 HTMLをPPTに変換する際に、フォントが間違っている問題が修正されました。
Bug SPIREPPT-2171 PPTドキュメントをロードする際にアプリケーションが「Unknown file format」をスローする問題が修正されました。
Bug SPIREPPT-2206 PPTを画像に変換する際に、棒グラフの色が正しくない問題が修正されました。
Bug SPIREPPT-2207 ppt.getBytes()メソッドを実行すると、アプリケーションが例外をスローする問題が修正されました。
ここで Spire.Presentation for Java 8.3.2をダウンロードする

Excel のスプレッドシートは、データを整理し計算するために使用されるグリッドベースの拡張可能なファイルです。人々はビジネスや個人の必要に応じてスプレッドシートを作成することがよくあります。Excel のスプレッドシートにデータを書き込むためには、プログラミング手法を使用することをお勧めします。これにより時間を節約でき、誤りを避けることができます。この記事では、Spire.XLS for .NET を使用して、C# および VB.NET でプログラムによって Excel 文書を作成しExcel のシートにデータを書き込む方法を紹介します。

Spire.XLS for .NET をインストールします

まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.XLS

セルにテキストまたは数値を書き込む

ワークシート内の特定のセルには、Worksheet.Range[int row, int column] プロパティでアクセスできます。次に、XlsRange.Value または XlsRange.Value2 プロパティを使用して、テキスト値または数値をセルに追加できます。詳細な手順は次のとおりです。

  • Workbook オブジェクトを作成します。
  • Workbook.Worksheets[] プロパティを使用して最初のシートを取得します。
  • Workhseet.Range[] プロパティを使用して特定のセルを取得します。
  • XlsRange.Value または XlsRange.Value2 メソッド を使用して、指定したセルにテキスト値または数値を追加します。
  • Workbook.SaveToFile() メソッドを使用してワークブックを Excel ファイルに保存します。
  • C#
  • VB.NET
using Spire.Xls;

namespace WriteDataToCells
{
    class Program
    {
        static void Main(string[] args)
        {
            //Workbookオブジェクトを作成する
            Workbook workbook = new Workbook();

            //最初のシートを取得する
            Worksheet worksheet = workbook.Worksheets[0]; 

            //指定したセルにデータを書き込む
            worksheet.Range[1, 1].Value = "名前";
            worksheet.Range[1, 2].Value = "年齢";
            worksheet.Range[1, 3].Value = "部門";
            worksheet.Range[1, 4].Value = "雇用日";
            worksheet.Range[2, 1].Value = "中村";
            worksheet.Range[2, 2].Value2 = 29;
            worksheet.Range[2, 3].Value = "研究部門";
            worksheet.Range[2, 4].Value = "2019-07-01";
            worksheet.Range[3, 1].Value = "田中";
            worksheet.Range[3, 2].Value2 = 31;
            worksheet.Range[3, 3].Value = "生産部門";
            worksheet.Range[3, 4].Value = "2015-04-27";

            //列幅を自動調整する
            worksheet.AllocatedRange.AutoFitColumns();

            //最初の行にスタイルを適用する
            CellStyle style = workbook.Styles.Add("newStyle");
            style.Font.IsBold = true;
            worksheet.Range[1, 1, 1, 4].Style = style;

            //ファイルに保存する
            workbook.SaveToFile("WriteToCells.xlsx", ExcelVersion.Version2016);
        }
    }
}
Imports Spire.Xls
 
Namespace WriteDataToCells
    Class Program
        Shared  Sub Main(ByVal args() As String)
            'Workbookオブジェクトを作成する
            Dim workbook As Workbook =  New Workbook() 
 
            '最初のシートを取得する
            Dim worksheet As Worksheet =  workbook.Worksheets(0) 
 
            '指定したセルにデータを書き込む
            worksheet.Range(1, 1).Value = "名前"
            worksheet.Range(1, 2).Value = "年齢"
            worksheet.Range(1, 3).Value = "部門"
            worksheet.Range(1, 4).Value = "雇用日"
            worksheet.Range(2, 1).Value = "中村"
            worksheet.Range(2, 2).Value2 = 29
            worksheet.Range(2, 3).Value = "研究部門"
            worksheet.Range(2, 4).Value = "2019-07-01"
            worksheet.Range(3, 1).Value = "田中"
            worksheet.Range(3, 2).Value2 = 31
            worksheet.Range(3, 3).Value = "生産部門"
            worksheet.Range(3, 4).Value = "2015-04-27"
 
            '列幅を自動調整する
            worksheet.AllocatedRange.AutoFitColumns()
 
            '最初の行にスタイルを適用する
            Dim style As CellStyle =  workbook.Styles.Add("newStyle") 
            style.Font.IsBold = True
            worksheet.Range(1, 1, 1, 4).Style = style
 
            'ファイルに保存する
            workbook.SaveToFile("WriteToCells.xlsx", ExcelVersion.Version2016)
        End Sub
    End Class
End Namespace

C#/VB.NET:Excel のワークシートにデータを書き込む

ワークシートに配列を書き込む

Spire.XLS for .NET には Worksheet.InsertArrary() メソッドが用意されており、プログラマはワークシートの指定されたセル範囲に1次元配列または2次元配列を書き込むことができます。ワークシートに配列を書き込む手順は次のとおりです。

  • Workbook オブジェクトを作成します。
  • Workbook.Worksheets[] プロパティを使用して最初のシートを取得します。
  • 1次元配列と2次元配列を作成します。
  • Worksheet.InsertArray() メソッドを使用して配列をシートに挿入します。
  • Workbook.SaveToFile() メソッドを使用してワークブックを Excel ファイルに保存します。
  • C#
  • VB.NET
using Spire.Xls;

namespace WriteArraysToWorksheet
{
    class Program
    {
        static void Main(string[] args)
        {
            //Workbookオブジェクトを作成する
            Workbook workbook = new Workbook();

            //最初のシートを取得する
            Worksheet worksheet = workbook.Worksheets[0];

            //1次元配列を作成する
            string[] oneDimensionalArray = new string[] { "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日" };

            //シートの最初の行に配列を書き込む
            worksheet.InsertArray(oneDimensionalArray, 1, 1, false);

            //2次元配列を作成する
            string[,] twoDimensionalArray = new string[,]{

                {"名前", "年齢", "性別", "部門", "電話番号"},
                {"中村", "25", "男性", "研究部門","654214"},
                {"田中", "24", "女性", "生産部門","624847"},
                {"小林", "26", "女性", "営業部門","624758"}
            };

            //セルA 3からシートに配列を書き込む
            worksheet.InsertArray(twoDimensionalArray, 3, 1);

            //特定のセル範囲の列幅を自動的に調整する
            worksheet.AllocatedRange.AutoFitColumns();

            //1行目と3行目にスタイルを適用する
            CellStyle style = workbook.Styles.Add("newStyle");
            style.Font.IsBold = true;
            worksheet.Range[1, 1, 1, 6].Style = style;
            worksheet.Range[3, 1, 3, 6].Style = style;

            //ファイルに保存する
            workbook.SaveToFile("InsertArrays.xlsx", ExcelVersion.Version2016);
        }
    }
}
Imports Spire.Xls
 
Namespace WriteArraysToWorksheet
    Class Program
        Shared  Sub Main(ByVal args() As String)
            'Workbookオブジェクトを作成する
            Dim workbook As Workbook =  New Workbook() 
 
            '最初のシートを取得する
            Dim worksheet As Worksheet =  workbook.Worksheets(0) 

            '1次元配列を作成する
            Dim oneDimensionalArray() As String =  New String() { "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"}

            'シートの最初の行に配列を書き込む
            worksheet.InsertArray(oneDimensionalArray, 1, 1, False)

            '2次元配列を作成する
            Dim twoDimensionalArray(,) As String =  New String(,) { 

		{"名前", "年齢", "性別", "部門", "電話番号"},
                {"中村", "25", "男性", "研究部門","654214"},
                {"田中", "24", "女性", "生産部門","624847"},
                {"小林", "26", "女性", "営業部門","624758" }
            }

            'セルA 3からシートに配列を書き込む
            worksheet.InsertArray(twoDimensionalArray, 3, 1)
 
            '特定のセル範囲の列幅を自動的に調整する
            worksheet.AllocatedRange.AutoFitColumns()
 
            '1行目と3行目にスタイルを適用する
            Dim style As CellStyle =  workbook.Styles.Add("newStyle") 
            style.Font.IsBold = True
            worksheet.Range(1, 1, 1, 6).Style = style
            worksheet.Range(3, 1, 3, 6).Style = style
 
            'ファイルに保存する
            workbook.SaveToFile("InsertArrays.xlsx", ExcelVersion.Version2016)
        End Sub
    End Class
End Namespace

C#/VB.NET:Excel のワークシートにデータを書き込む

ワークシートにデータテーブルを書き込む

DataTable からシートにデータをインポートするには、Worksheet.InsertDataTable() メソッドを使用します。詳細な手順は次のとおりです。

  • Workbook オブジェクトを作成します。
  • Workbook.Worksheets[] プロパティを使用して、最初のシート取得します。
  • ランダム データを含む DataTable を作成します。
  • Worksheet.InsertDataTable() メソッドを使用して、シートの指定された位置に DataTable を書き込みます。
  • Workbook.SaveToFile() メソッドを使用してワークブックを Excel ファイルに保存します。
  • C#
  • VB.NET
using System;
using System.Data;
using Spire.Xls;

namespace WriteDataTableToWorksheet
{
    class Program
    {
        static void Main(string[] args)
        {
            //Workbookオブジェクトを作成する
            Workbook workbook = new Workbook();

            //最初のシートを取得する
            Worksheet worksheet = workbook.Worksheets[0];

            //DataTableオブジェクトを作成する
            DataTable dataTable = new DataTable();
            dataTable.Columns.Add("スキュー", typeof(Int32));
            dataTable.Columns.Add("製品", typeof(String));
            dataTable.Columns.Add("価格", typeof(String));

            //行を作成してデータを追加する
            DataRow dr = dataTable.NewRow();
            dr[0] = 512900512;
            dr[1] = "ワイヤレスマウス";
            dr[2] = "$85";
            dataTable.Rows.Add(dr);

            dr = dataTable.NewRow();
            dr[0] = 512900637;
            dr[1] = "キーボード";
            dr[2] = "$99";
            dataTable.Rows.Add(dr);

            dr = dataTable.NewRow();
            dr[0] = 512901829;
            dr[1] = "Bluetoothスピーカー";
            dr[2] = "$125";
            dataTable.Rows.Add(dr);

            dr = dataTable.NewRow();
            dr[0] = 512900386;
            dr[1] = "USBメモリ";
            dr[2] = "$89";
            dataTable.Rows.Add(dr);

            //シートにデータテーブルを書き込む
            worksheet.InsertDataTable(dataTable, true, 1, 1, true);

            //特定のセル範囲の列幅を自動的に調整する
            worksheet.AllocatedRange.AutoFitColumns();

            //1行目と3行目にスタイルを適用する
            CellStyle style = workbook.Styles.Add("newStyle");
            style.Font.IsBold = true;
            worksheet.Range[1, 1, 1, 3].Style = style;

            //ファイルに保存する
            workbook.SaveToFile("InsertDataTable.xlsx", ExcelVersion.Version2016);
        }
    }
}
Imports System
Imports System.Data
Imports Spire.Xls
 
Namespace WriteDataTableToWorksheet
    Class Program
        Shared  Sub Main(ByVal args() As String)
            'Workbookオブジェクトを作成する
            Dim workbook As Workbook =  New Workbook() 
 
            '最初のシートを取得する
            Dim worksheet As Worksheet =  workbook.Worksheets(0) 
 
            'DataTableオブジェクトを作成する
            Dim dataTable As DataTable =  New DataTable() 
            dataTable.Columns.Add("スキュー", Type.GetType(Int32))
            dataTable.Columns.Add("製品", Type.GetType(String))
            dataTable.Columns.Add("価格", Type.GetType(String))
 
            '行を作成してデータを追加する
            Dim dr As DataRow =  dataTable.NewRow() 
            dr(0) = 512900512
            dr(1) = "ワイヤレスマウス"
            dr(2) = "$85"
            dataTable.Rows.Add(dr)
 
            dr = dataTable.NewRow()
            dr(0) = 512900637
            dr(1) = "キーボード"
            dr(2) = "$99"
            dataTable.Rows.Add(dr)
 
            dr = dataTable.NewRow()
            dr(0) = 512901829
            dr(1) = "Bluetoothスピーカー"
            dr(2) = "$125"
            dataTable.Rows.Add(dr)
 
            dr = dataTable.NewRow()
            dr(0) = 512900386
            dr(1) = "USBメモリ"
            dr(2) = "$89"
            dataTable.Rows.Add(dr)
 
            'シートにデータテーブルを書き込む
            worksheet.InsertDataTable(dataTable, True, 1, 1, True)
 
            '特定のセル範囲の列幅を自動的に調整する
            worksheet.AllocatedRange.AutoFitColumns()
 
            '1行目と3行目にスタイルを適用する
            Dim style As CellStyle =  workbook.Styles.Add("newStyle") 
            style.Font.IsBold = True
            worksheet.Range(1, 1, 1, 3).Style = style
 
            'ファイルに保存する
            workbook.SaveToFile("InsertDataTable.xlsx", ExcelVersion.Version2016)
        End Sub
    End Class
End Namespace

C#/VB.NET:Excel のワークシートにデータを書き込む

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

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

Spire.XLS for Java 13.3.6のリリースを発表できることを嬉しく思います。このバージョンでは、Excelを独立したHTMLファイルに変換することや、Excel全体をHTMLストリームに保存することができます。また、ピボットテーブルのピボットフィールドとデータフィールドに条件付き書式を追加することができます。セル内の一部のテキストを置換する機能もサポートされています。さらに、ExcelからPDFと画像への変換機能も強化されています。また、グラフを画像に変換する際のガイド線が失われる問題など、既知の問題も修正されました。詳細は以下をお読みください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
New feature SPIREXLS-3537 Excelを独立したHTMLファイルに変換することができます。
Workbook wb = new Workbook();
wb.loadFromFile("data/mytest.xlsx");
HTMLOptions.Default.isStandAloneHtmlFile(true);
wb.saveToFile("result.html", FileFormat.HTML);
New feature SPIREXLS-3791 Excel全体をHTMLストリームに保存することができます。
Workbook wb = new Workbook();
wb.loadFromFile("data/mytest.xlsx");
FileOutputStream fileStream = new FileOutputStream("output/saveStream_result.html");
wb.saveToStream(fileStream, FileFormat.HTML);
fileStream.close();
New feature SPIREXLS-4385 ピボットテーブルのピボットフィールドとデータフィールドに条件付き書式を追加することができます。
PivotTable table = (PivotTable)worksheet.getPivotTables().get(0);
PivotConditionalFormatCollection pcfs = table.getPivotConditionalFormats();
PivotConditionalFormat pc = pcfs.addPivotConditionalFormat(table.getColumnFields().get(0));
//PivotConditionalFormat pc = pcfs.addPivotConditionalFormat(table.getRowFields().get(0));
//PivotConditionalFormat pc = pcfs.addPivotConditionalFormat(table.getDataFields().get(0));
//PivotConditionalFormat pc = pcfs.addPivotConditionalFormat(table.getPageFields().get(0));
IConditionalFormat cf = pc.addCondition();
cf.setFormatType(ConditionalFormatType.ContainsBlanks);
cf.setFillPattern(ExcelPatternType.Solid);
cf.setBackColor(Color.Red);
New feature SPIREXLS-4513 セル内の一部のテキストを置換する機能がサポートされています。
sheet.getCellList().get(0).textPartReplace("Office", "Spire");
Bug SPIREXLS-4489 グラフを画像に変換する際にガイド線が失われていた問題が修正されました。
Bug SPIREXLS-4490 Excelを画像に変換する際にデータ位置が一部下に移動していた問題が修正されました。
Bug SPIREXLS-4508 Excelを画像に変換する際に二重下線が一重下線になる問題が修正されました。
Bug SPIREXLS-4510 Excelにフッターを追加すると、アプリケーションが「java.lang.NullPointerException」をスローする問題が修正されました。
Bug SPIREXLS-4511 ExcelをPDFに変換すると、アプリケーションが「Invalid sectionId of Header Footer image」をスローする問題が修正されました。
Bug SPIREXLS-4514 Excelを画像に変換する際にプログレスバーのカラーが失われていた問題が修正されました。
Bug SPIREXLS-4537 グラフを画像に変換する際のX軸データのずれの問題が修正されました。
Bug SPIREXLS-4547 ExcelをPDFに変換したときのドキュメントの内容が正しくない問題が修正されました。
ここで Spire.XLS for Java 13.3.6をダウンロードする

Excel のスプレッドシートはグリッドベースの文書であり、情報を整理するために有機的な方法で使用されています。人々はビジネスや個人の必要に応じてスプレッドシートを作成することがよくあります。多年にわたり、Excel のスプレッドシートは多くの機能を提供し、煩雑なデータ管理プロセスを簡素化する上で重要な役割を果たしてきました。この記事では、Spire.XLS for C++ を使用して C++ で Excel 文書を作成しExcel のシートにデータを書き込む方法について説明します。

Spire.XLS for C++ をインストールします

Spire.XLS for C++ をアプリケーションに組み込むには、2つの方法があります。一つは NuGet 経由でインストールする方法、もう一つは当社のウェブサイトからパッケージをダウンロードし、ライブラリをプログラムにコピーする方法です。NuGet 経由のインストールの方が便利で、より推奨されます。詳しくは、以下のリンクからご覧いただけます。

Spire.XLS for C++ を C++ アプリケーションに統合する方法

セルにテキストまたは数値を書き込む

Spire.XLS for C++ は、Excel 文書とワークシートをそれぞれ表す Workbook クラスと Worksheet クラスを提供しています。ユーザーは、Worksheet->GetRange(int row, int column) メソッドを使用して特定のセルにアクセスできます。その後、CellRange->SetText() または CellRange->SetNumberValue() メソッドを使用してセルにテキスト値または数値を追加します。以下に詳細な手順が示されています。

  • Workbook オブジェクトを作成します。
  • Workbook->GetWorksheets()->Get() メソッドを使用して最初のシートを取得します。
  • Worksheet->GetRange(int row, int column) メソッドを使用して特定のセルを取得します。
  • CellRange->SetText() または CellRange->SetNumberValue() メソッドを使用して、指定したセルにテキスト値または数値を追加します。
  • Workbook->SaveToFile() メソッドを使用してワークブックを Excel ファイルに保存します。
  • C++
#include "Spire.Xls.o.h";

using namespace Spire::Xls;

int main() {

	//出力ファイルのパスと名前を指定する
	std::wstring outputPath = L"Output\\";
	std::wstring outputFile = outputPath + L"WriteIndividualValuesToCells.xlsx";

	//Workbookオブジェクトを作成する
	Workbook* workbook = new Workbook();

	//最初のシートを取得する
	Worksheet* sheet = workbook->GetWorksheets()->Get(0);

	//指定したセルにテキストと数を書き込む
	sheet->GetRange(1, 1)->SetText(L"名前");
	sheet->GetRange(1, 2)->SetText(L"年齢");
	sheet->GetRange(1, 3)->SetText(L"部門");
	sheet->GetRange(1, 4)->SetText(L"雇用日");
	sheet->GetRange(1, 1)->SetText(L"名前");
	sheet->GetRange(2, 1)->SetText(L"中村");
	sheet->GetRange(2, 2)->SetNumberValue(29);
	sheet->GetRange(2, 3)->SetText(L"研究部門");
	sheet->GetRange(2, 4)->SetText(L"2021-02-26");
	sheet->GetRange(3, 1)->SetText(L"田中");
	sheet->GetRange(3, 2)->SetNumberValue(27);
	sheet->GetRange(3, 3)->SetText(L"生産部門");
	sheet->GetRange(3, 4)->SetText(L"2020-07-13");
	sheet->GetRange(4, 1)->SetText(L"小林");
	sheet->GetRange(4, 2)->SetNumberValue(35);
	sheet->GetRange(4, 3)->SetText(L"営業部門");
	sheet->GetRange(4, 4)->SetText(L"2019-04-01");

	//列幅を自動調整する
	sheet->GetAllocatedRange()->AutoFitColumns();

	//最初の行にスタイルを適用する
	CellStyle* style = workbook->GetStyles()->Add(L"newStyle");
	style->GetFont()->SetIsBold(true);
	sheet->GetRange(1, 1, 1, 4)->SetStyle(style);

	//ファイルに保存する
	workbook->SaveToFile(outputFile.c_str(), ExcelVersion::Version2016);
	workbook->Dispose();
}

C++:Excel のワークシートにデータを書き込む

指定されたセル範囲に配列を書き込む

Spire.XLS for C++ は、Worksheet->InsertArray() メソッドを提供し、プログラマーがシートの指定されたセル範囲にコンテナを書き込むことができます。シートに配列を書き込む前に、配列をコンテナに変換する必要があります。以下に詳細な手順が示されています。

  • Workbook オブジェクトを作成します。
  • Workbook->GetWorksheets()->Get() メソッドを使用して最初のワークシートを取得します。
  • 配列を作成し、1つまたは複数のコンテナに変換します。
  • Worksheet->InsertArray() メソッドを使用してコンテナをワークシートに挿入します。
  • Workbook->SaveToFile() メソッドを使用してワークブックを Excel ファイルに保存します。
  • C++
#include "Spire.Xls.o.h";

using namespace Spire::Xls;
using namespace std;

int main() {

	//出力ファイルのパスと名前を指定する
	wstring outputPath = L"Output\\";
	wstring outputFile = outputPath + L"WriteArraysToCellRanges.xlsx";

	//Workbookオブジェクトを作成する
	Workbook* workbook = new Workbook();

	//最初のシートを取得する
	Worksheet* sheet = workbook->GetWorksheets()->Get(0);

	//1次元配列を作成する	
	wstring oneDimensionalArray[6] = { L"月曜日", L"火曜日", L"水曜日", L"木曜日", L"金曜日", L"土曜日" };

	//配列をコンテナに変換する
	vector<LPCWSTR> vec;
	for (size_t i = 0; i < sizeof(oneDimensionalArray) / sizeof(oneDimensionalArray[0]); i++)
	{
		vec.push_back(oneDimensionalArray[i].c_str());
	}

	//シートにコンテナを挿入する
	sheet->InsertArray(vec, 1, 1, false);

	//2次元配列を作成する
	wstring twoDimensionalArray[4][5] = {
		{L"名前", L"年齢", L"性別", L"部門", L"電話番号"},
		{L"中村", L"25", L"男性", L"研究部門", L"654214"},
		{L"田中", L"24", L"女性", L"生産部門", L"624847"},
		{L"小林", L"26", L"女性", L"営業部門", L"624758"}
	};

	//行番号と列番号を取得する
	int rowNum = sizeof(twoDimensionalArray) / sizeof(twoDimensionalArray[0]);
	int columnNum = sizeof(twoDimensionalArray[0]) / sizeof(twoDimensionalArray[0][0]);

	//2 D配列を複数の1 Dコンテナに分割する
	for (size_t i = 0; i < rowNum; i++)
	{
		vector<LPCWSTR> vec_temp;
		for (size_t j = 0; j < columnNum; j++)
		{
			vec_temp.push_back(twoDimensionalArray[i][j].c_str());
		}

		//シートにコンテナを挿入する
		sheet->InsertArray(vec_temp, 4 + i, 1, false);
	}

	//列幅を自動調整する
	sheet->GetAllocatedRange()->AutoFitColumns();

	//最初の行にスタイルを適用する
	CellStyle* style = workbook->GetStyles()->Add(L"newStyle");
	style->GetFont()->SetIsBold(true);
	sheet->GetRange(1, 1, 1, 6)->SetStyle(style);
	sheet->GetRange(4, 1, 4, 5)->SetStyle(style);

	//ファイルに保存する
	workbook->SaveToFile(outputFile.c_str(), ExcelVersion::Version2016);
	workbook->Dispose();
}

C++:Excel のワークシートにデータを書き込む

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

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

Spire.Email 6.3.2のリリースを発表できることを嬉しく思います。このバージョンは、電子メールの日付情報を正しく読み取れない問題を修正しました。詳細は以下の内容を読んでください。

このリリースで行われた変更のリストは次のとおりです
カテゴリー ID 説明
Bug SPIREEMAIL-65 電子メールの日付情報を正しく読み取れない問題を修正しました。
ここで Spire.Email 6.3.2をダウンロードする