Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
DBF (DataBase File) は、1980 年代初頭に dBASE によって導入されたレガシーなデータベースファイル形式です。古い形式ではありますが、DBF ファイルは、特に会計、GIS、その他の専門的なアプリケーションで構造化データを保存するために、多くの業界で現在も広く使用されています。Aspose.Cells を使用すると、これらのレガシーファイルを最新の C++ スプレッドシートワークフローにシームレスに統合できます。
このライブラリは DBF ファイルの読み取りと書き込みの両方をサポートしており、以下のことが可能になります。
DBF ファイルは Microsoft Excel などのスプレッドシートアプリケーションで直接開くこともできるため、レガシーシステムと最新のスプレッドシートツール間の便利な橋渡しとなります。
Aspose.Cells は以下の DBF 形式のバージョンをサポートしています。
このライブラリは、以下の操作に対して包括的なサポートを提供します。
DBF ファイルを扱う際は、以下の制約事項に注意してください。
YYYYMMDD 形式で保存されます。Aspose.Cells を使用すると、DBF ファイルから Workbook オブジェクトへのデータ読み込みを簡単に行うことができます。このライブラリは LoadOptions クラスを使用してソース形式を指定し、読み込みプロセス中にデータが正しく解釈されるようにします。
DBF ファイルを読み取るには、LoadOptions インスタンスを作成し、その LoadFormat プロパティを LoadFormat.Dbf に設定して、ファイルパスとともに Workbook コンストラクタに渡す必要があります。一度読み込まれると、データは Worksheets コレクションを介してアクセス可能になり、セルを反復処理したり、値を抽出したり、必要に応じてデータを操作したりできます。
次の例は、既存の DBF ファイルを Aspose.Cells に読み込み、最初のワークシートにアクセスしてセルの値を読み取る方法を示しています。
#include "Aspose.Cells.h"
#include <string>
#include <iostream>
using namespace Aspose::Cells;
int main() {
Aspose::Cells::Startup();
std::string dataDir = "Data/";
std::string filePath = dataDir + "example.dbf";
LoadOptions loadOptions(LoadFormat::Dbf);
Workbook workbook(U16String(filePath.c_str()), loadOptions);
Worksheet worksheet = workbook.GetWorksheets().Get(0);
Cells cells = worksheet.GetCells();
std::string sb = "";
int maxRow = cells.GetMaxDataRow();
int maxCol = cells.GetMaxDataColumn();
for (int i = 0; i <= maxRow; i++) {
for (int j = 0; j <= maxCol; j++) {
Cell cell = cells.Get(i, j);
U16String value = cell.GetStringValue();
sb += "|";
sb += value.ToUtf8();
}
sb += "|";
sb += "\n";
}
std::cout << sb << std::endl;
std::string outputPath = dataDir + "output.xlsx";
workbook.Save(U16String(outputPath.c_str()), SaveFormat::Xlsx);
std::cout << "DBF file loaded successfully. Converted XLSX saved at: " << outputPath << std::endl;
Aspose::Cells::Cleanup();
return 0;
}
DBF ファイルへのデータ書き込みは、Aspose.Cells を使用して他のスプレッドシート形式を保存する場合と同様のパターンに従います。Workbook を作成または読み込み、ワークシートにデータを入力し、ターゲット形式として SaveFormat.Dbf を指定して Save メソッドを呼び出します。
DBF ファイルを作成するには、以下の手順に従います。
Workbook インスタンスを作成します。Worksheets コレクションから最初のワークシートにアクセスします。SaveFormat.Dbf をパラメータとして渡して Workbook.Save メソッドを呼び出します。次の例は、新しい DBF ファイルを作成する方法を示しています。さまざまなデータ型 (文字列、数値、日付) を含むサンプルデータをワークシートに入力し、DBF 形式へのエクスポート時にフィールド型がどのように処理されるかを示しています。
#include "Aspose.Cells.h"
#include <string>
#include <filesystem>
using namespace Aspose::Cells;
int main() {
Aspose::Cells::Startup();
std::string outputDir = "C:/Output/";
std::string filePath = outputDir + "output.dbf";
if (!std::filesystem::exists(outputDir)) {
std::filesystem::create_directories(outputDir);
}
Workbook workbook;
Worksheet worksheet = workbook.GetWorksheets().Get(0);
Cells cells = worksheet.GetCells();
// 列ヘッダー
cells.Get(0, 0).PutValue(u"ID");
cells.Get(0, 1).PutValue(u"Name");
cells.Get(0, 2).PutValue(u"Department");
cells.Get(0, 3).PutValue(u"Salary");
cells.Get(0, 4).PutValue(u"HireDate");
// データ行 1
cells.Get(1, 0).PutValue(101);
cells.Get(1, 1).PutValue(u"John Smith");
cells.Get(1, 2).PutValue(u"Engineering");
cells.Get(1, 3).PutValue(75000.50);
Date hireDate1{2020, 3, 15, 0, 0, 0, 0};
cells.Get(1, 4).PutValue(hireDate1);
// データ行 2
cells.Get(2, 0).PutValue(102);
cells.Get(2, 1).PutValue(u"Jane Doe");
cells.Get(2, 2).PutValue(u"Marketing");
cells.Get(2, 3).PutValue(68000.75);
Date hireDate2{2019, 7, 22, 0, 0, 0, 0};
cells.Get(2, 4).PutValue(hireDate2);
// データ行 3
cells.Get(3, 0).PutValue(103);
cells.Get(3, 1).PutValue(u"Bob Johnson");
cells.Get(3, 2).PutValue(u"Finance");
cells.Get(3, 3).PutValue(82000.00);
Date hireDate3{2021, 1, 10, 0, 0, 0, 0};
cells.Get(3, 4).PutValue(hireDate3);
// データ行 4
cells.Get(4, 0).PutValue(104);
cells.Get(4, 1).PutValue(u"Alice Brown");
cells.Get(4, 2).PutValue(u"Human Resources");
cells.Get(4, 3).PutValue(71000.25);
Date hireDate4{2018, 11, 5, 0, 0, 0, 0};
cells.Get(4, 4).PutValue(hireDate4);
// データ行 5
cells.Get(5, 0).PutValue(105);
cells.Get(5, 1).PutValue(u"Charlie Wilson");
cells.Get(5, 2).PutValue(u"Operations");
cells.Get(5, 3).PutValue(79500.80);
Date hireDate5{2022, 5, 30, 0, 0, 0, 0};
cells.Get(5, 4).PutValue(hireDate5);
// 可読性のために列幅を設定
worksheet.GetCells().SetColumnWidth(0, 8);
worksheet.GetCells().SetColumnWidth(1, 20);
worksheet.GetCells().SetColumnWidth(2, 20);
worksheet.GetCells().SetColumnWidth(3, 12);
worksheet.GetCells().SetColumnWidth(4, 14);
workbook.Save(U16String(filePath.c_str()), SaveFormat::Dbf);
Aspose::Cells::Cleanup();
return 0;
}
Aspose.Cells と DBF 形式の間でデータを転送する場合、データの整合性を確保するために、2 つのシステム間でデータ型がどのようにマップされるかを理解することが重要です。
Aspose.Cells のセル値は、保存時に適切な DBF フィールドタイプに自動的に変換されます。
YYYYMMDD 形式の日付 (D) フィールドにマッピングされます。DBF ファイルは、作成元のアプリケーションに応じて異なる文字エンコーディングを使用する場合もあります。Aspose.Cells はほとんどの場合、エンコーディングを透過的に処理しますが、文字表示の問題が発生した場合は、ソースファイルのエンコーディングを確認する必要があるかもしれません。
DBF のフィールド名は以下のルールに従う必要があります。
DBF ファイルを書き込んだ後、Microsoft Excel または任意の dBASE 互換アプリケーションでファイルを開いて結果を検証できます。データは、フィールド名が列ヘッダーとなり、提供したデータに応じてレコードが入力された表形式で表示されるはずです。
Aspose.Cells で DBF ファイルを読み書きする最も実用的なユースケースの 1 つは、DBF 形式と XLSX、XLS、CSV などの最新のスプレッドシート形式との間でデータを変換することです。Aspose.Cells は幅広い形式をサポートしているため、DBF ファイルを読み込んで、サポートされている他の任意の形式で再保存したり、その逆を行うことも簡単にできます。
たとえば、DBF ファイルを読み取り、Aspose.Cells API を使用して書式設定や計算を適用し、最新のスプレッドシートアプリケーションを使用するユーザーに配布するために、結果を XLSX ファイルとして保存できます。逆に、XLSX または CSV ファイルからデータを取得して DBF 形式にエクスポートし、レガシーシステムと統合することもできます。
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.