C++でさまざまなファイル保存方法
ファイルを保存する異なる方法
Aspose.Cellsは、Microsoft Excelファイルを表すWorkbookを提供し、Excelファイルを操作するために必要なプロパティとメソッドを提供します。Workbookクラスは、Excelファイルを保存するために使用されるSaveメソッドを提供します。Saveメソッドには、さまざまな方法でファイルを保存するために使用される多くのオーバーロードがあります。
ファイルの保存形式は、SaveFormat列挙型によって決定されます。
ファイルの形式の種類 | 説明 |
---|---|
CSV | CSVファイルを表します |
Excel97To2003 | はExcel 97-2003ファイルを表します |
Xlsx | Excel 2007 XLSXファイルを表します |
Xlsm | Excel 2007 XLSMファイルを表します |
Xltx | Excel 2007テンプレートXLTXファイルを表します |
Xltm | Excel 2007マクロ有効XLTMファイルを表します |
Xlsb | Excel 2007バイナリXLSBファイルを表します |
SpreadsheetML | スプレッドシートXMLファイルを表します |
TSV | タブ区切り値ファイルを表します |
TabDelimited | はタブ区切りのテキストファイルを表します |
ODS | ODSファイルを表します |
Html | HTMLファイルを表します |
MHtml | MHTMLファイルを表します |
PDFファイルを表します | |
XPS | XPSドキュメントを表します |
TIFF | タグ付き画像ファイル形式(TIFF)を表します |
異なる形式でファイルを保存する方法
ファイルを保存するには、SaveFormat列挙型からの所望のファイル形式を指定して、WorkbookオブジェクトのSaveメソッドを呼び出す際にファイル名(保存先パスを含む)を指定します。
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Path of input excel file
U16String filePath = srcDir + u"Book1.xls";
// Load your source workbook
Workbook workbook(filePath);
// Save in Excel 97 to 2003 format
workbook.Save(outDir + u".output.xls");
// OR
XlsSaveOptions xlsSaveOptions;
workbook.Save(outDir + u".output.xls", xlsSaveOptions);
// Save in Excel2007 xlsx format
workbook.Save(outDir + u".output.xlsx", SaveFormat::Xlsx);
// Save in Excel2007 xlsb format
workbook.Save(outDir + u".output.xlsb", SaveFormat::Xlsb);
// Save in ODS format
workbook.Save(outDir + u".output.ods", SaveFormat::Ods);
// Save in Pdf format
workbook.Save(outDir + u".output.pdf", SaveFormat::Pdf);
// Save in Html format
workbook.Save(outDir + u".output.html", SaveFormat::Html);
// Save in SpreadsheetML format
workbook.Save(outDir + u".output.xml", SaveFormat::SpreadsheetML);
std::cout << "Files saved successfully!" << std::endl;
Aspose::Cells::Cleanup();
}
WorkbookをPDFに保存する方法
Portable Document Format(PDF)は、1990年代にAdobeによって作成されたドキュメントの一種です。このファイル形式の目的は、アプリケーションソフトウェア、ハードウェア、およびオペレーティングシステムに依存しない形式で、文書やその他のリファレンス資料を表現するための標準を導入することでした。PDFファイル形式には、テキスト、画像、ハイパーリンク、フォームフィールド、リッチメディア、デジタル署名、添付ファイル、メタデータ、地理空間機能、3Dオブジェクトなどの情報を含めるための完全な機能があります。
Aspose.CellsでWorkbookをPDFファイルに保存する方法のコードは次のとおりです:
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Instantiate the Workbook object
Workbook workbook;
// Set value to Cell
workbook.GetWorksheets().Get(0).GetCells().Get(u"A1").PutValue(u"Hello World!");
// Save the workbook to PDF
workbook.Save(u"pdf1.pdf");
// Save as Pdf format compatible with PDFA-1a
PdfSaveOptions saveOptions;
saveOptions.SetCompliance(PdfCompliance::PdfA1a);
workbook.Save(u"pdfa1a.pdf", saveOptions);
Aspose::Cells::Cleanup();
return 0;
}
WorkbookをテキストまたはCSV形式で保存する方法
時々、複数のワークシートを含むワークブックをテキスト形式に変換または保存したい場合があります。テキスト形式(たとえば、TXT、TabDelim、CSVなど)の場合、デフォルトでMicrosoft ExcelおよびAspose.Cellsの両方はアクティブなワークシートの内容のみを保存します。
以下のコード例では、ワークブック全体をテキスト形式で保存する方法について説明しています。任意のMicrosoft ExcelまたはOpenOfficeスプレッドシートファイル(XLS、XLSX、XLSM、XLSB、ODSなど)を読み込み、任意の数のワークシートを含めることができます。
コードを実行すると、ワークブックのすべてのシートのデータがTXT形式に変換されます。
同じ例を修正して、CSV形式でファイルを保存することも可能です。デフォルトでは、区切り文字はカンマ(,)ですので、CSV形式で保存する場合は区切り文字を指定しないでください。注意点として、評価版を使用している場合でも [**TxtSaveOptions.GetExportAllSheets()**](https://reference.aspose.com/cells/cpp/aspose.cells/txtsaveoptions/getexportallsheets/)
プロパティがtrueに設定されている場合でも、プログラムは一つのワークシートだけをエクスポートします。
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Path of input excel file
U16String inputFilePath = srcDir + u"book1.xls";
// Path of output text file
U16String outputFilePath = outDir + u"out.txt";
// Load your source workbook
Workbook workbook(inputFilePath);
// Text save options. You can use any type of separator
TxtSaveOptions opts;
opts.SetSeparator(u'\t');
opts.SetExportAllSheets(true);
// Save entire workbook data into file
workbook.Save(outputFilePath, opts);
std::cout << "Workbook data saved to text file successfully!" << std::endl;
Aspose::Cells::Cleanup();
}
カスタム区切り記号を使用してテキストファイルにファイルを保存する方法
テキストファイルには書式がないスプレッドシートデータが含まれます。ファイルは、データ間にいくつかのカスタマイズされた区切り記号があるプレーンテキストファイルの種類です。
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Path of input excel file
U16String filePath = srcDir + u"Book1.xlsx";
// Create a Workbook object and open the file from its path
Workbook wb(filePath);
// Instantiate Text File's Save Options
TxtSaveOptions options;
// Specify the separator
options.SetSeparator(u';');
// Save the file with the options
wb.Save(srcDir + u"output.csv", options);
std::cout << "File saved successfully!" << std::endl;
Aspose::Cells::Cleanup();
}
ストリームにファイルを保存する方法
ファイルをストリームに保存するには、MemoryStreamまたはFileStreamオブジェクトを作成し、WorkbookオブジェクトのSaveメソッドを呼び出してそのストリームオブジェクトにファイルを保存します。Saveメソッドを呼び出す際に、所望のファイル形式をSaveFormat列挙型を使用して指定します。
#include <iostream>
#include <fstream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Startup();
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
U16String inputFilePath = srcDir + u"Book1.xlsx";
Workbook workbook(inputFilePath);
// Save workbook to memory stream with explicit FileFormatType
Vector<uint8_t> data = workbook.SaveToStream();
std::cout << "File size: " << data.GetLength() << std::endl;
Cleanup();
return 0;
}
ExcelファイルをHTMLとMHTファイルに保存する方法
Aspose.Cellsは、単にExcelファイル、JSON、CSVなどのファイルを.htmlおよび.mhtファイルとして簡単に保存できます。
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
// Load your source workbook
U16String inputFilePath(u"Book1.xlsx");
Workbook workbook(inputFilePath);
// Save file to MHTML format
U16String outputFilePath(u"out.mht");
workbook.Save(outputFilePath);
std::cout << "File saved successfully to MHTML format!" << std::endl;
Aspose::Cells::Cleanup();
}
ExcelファイルをOpenOffice(ODS、SXC、FODS、OTS)に保存する方法
ファイルを開いた形式で保存できます:ODS、SXC、FODS、OTSなど。
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
// Load your source workbook
Workbook workbook(u"book1.xlsx");
// Save as ods file
workbook.Save(u"Out.ods");
// Save as sxc file
workbook.Save(u"Out.sxc");
// Save as fods file
workbook.Save(u"Out.fods");
Aspose::Cells::Cleanup();
return 0;
}
ExcelファイルをJSONまたはXMLに保存する方法
JSON(JavaScript Object Notation)は、人間が読めるテキストを使用してデータを格納および送信するためのオープンな標準ファイル形式です。 JSONファイルは.json拡張子で保存されます。 JSONはより少ないフォーマットが必要であり、XMLの良い代替手段です。 JSONはJavaScriptに由来していますが、言語に依存しないデータ形式です。 JSONの生成と解析は、多くの現代のプログラミング言語でサポートされています。 application/jsonはJSONに使用されるメディアタイプです。
Aspose.CellsはファイルをJSONまたはXMLに保存することをサポートしています。
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Path of input excel file
U16String inputFilePath = srcDir + u"Book1.xlsx";
// Path of output json file
U16String outputFilePath = outDir + u"book1.json";
// Create workbook
Workbook workbook(inputFilePath);
// Save the workbook as JSON
workbook.Save(outputFilePath, SaveFormat::Json);
std::cout << "Workbook converted to JSON successfully!" << std::endl;
Aspose::Cells::Cleanup();
}