Microsoft Project から Excel スプレッドシートへのプロジェクトスケジュールの変換は、レポート作成やデータ分析で頻繁に必要とされます。 Aspose.CAD Cloud SDK for Node.js を使用すると、開発者は数行のコードで Node.JS で MPP を XLSX に変換できます。このチュートリアルでは、ライブラリの設定方法、MPP ファイルをクラウドストレージにアップロードする方法、XLSX タスクシートレポートの生成方法、結果の取得方法を紹介します。また、REST API ユーザー向けに同等の cURL コマンドも提供しています。最後まで読むと、Node.JS アプリケーションに MPP から XLSX への変換を統合できるようになります。
Node.JSでMPPをXLSXに変換する完全な作業例
この例では、MPP ファイルをアップロードし、XLSX タスクシート レポートをリクエストし、結果をダウンロードする方法を Aspose.Tasks Cloud API を使用して示します。
const path = require('path');
const fs = require('fs');
const {
Configuration,
ApiClient,
TasksApi,
StorageApi
} = require('asposetaskscloud');
(async () => {
// -------------------- Configuration --------------------
const config = new Configuration({
clientId: 'YOUR_CLIENT_ID',
clientSecret: 'YOUR_CLIENT_SECRET'
// baseUrl can be set here if needed
});
const apiClient = new ApiClient(config);
const tasksApi = new TasksApi(apiClient);
const storageApi = new StorageApi(apiClient);
// -------------------- File paths --------------------
const localInputPath = path.resolve(__dirname, 'project.mpp');
const remoteFolder = 'Temp';
const remoteFileName = 'project.mpp';
const localOutputPath = path.resolve(__dirname, 'project.xlsx');
try {
// -------------------- Upload MPP to cloud storage --------------------
const fileBuffer = fs.readFileSync(localInputPath);
await storageApi.uploadFile({
path: `${remoteFolder}/${remoteFileName}`,
file: fileBuffer
});
// -------------------- Convert to XLSX (TaskSheet report) --------------------
const reportResponse = await tasksApi.getTaskReport({
name: remoteFileName,
folder: remoteFolder,
reportType: 'TaskSheet', // options: GanttChart, ResourceSheet, etc.
format: 'xlsx'
});
// -------------------- Save XLSX locally --------------------
fs.writeFileSync(localOutputPath, reportResponse.body);
console.log(`Conversion completed. XLSX saved to ${localOutputPath}`);
} catch (err) {
if (err.response && err.response.body) {
console.error('API error:', err.response.body);
} else {
console.error('Unexpected error:', err);
}
} finally {
// -------------------- Cleanup remote file --------------------
try {
await storageApi.deleteFile({ path: `${remoteFolder}/${remoteFileName}` });
} catch (cleanupErr) {
// ignore cleanup errors
}
}
})();
注意: このコード例はコア機能を示しています。プロジェクトで使用する前に、ファイルパスや構成値が実際の環境に合うように更新し、すべての必須依存関係が正しくインストールされていることを確認し、開発環境で徹底的にテストしてください。問題が発生した場合は、公式ドキュメント または サポートチーム にお問い合わせください。
cURL を使用した REST API による MPP から XLSX への変換
以下は、Aspose.Tasks Cloud REST API を使用して、Node.js コードと同じ手順を実行する cURL コマンドです。
- アクセストークンを取得する -
YOUR_CLIENT_IDとYOUR_CLIENT_SECRETを自分の資格情報に置き換えてください。
curl -X POST "https://api.aspose.cloud/v4.0/oauth2/token?grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
- ソース MPP ファイルをアップロード - 前のステップで取得したトークンを
YOUR_ACCESS_TOKENに保存します。
curl -X PUT "https://api.aspose.cloud/v4.0/storage/file/Temp/project.mpp" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary "@project.mpp"
- XLSX タスクシート レポートをリクエストする.
curl -X GET "https://api.aspose.cloud/v4.0/tasks/project.mpp/report?reportType=TaskSheet&format=xlsx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o project.xlsx
- 生成されたXLSXファイルをダウンロード(前のコマンドはすでにローカルに保存しますが、直接取得することもできます)。
curl -X GET "https://api.aspose.cloud/v4.0/storage/file/Temp/project.xlsx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o project.xlsx
各エンドポイントの詳細については、公式 API リファレンスをご覧ください。
Node.JS で MPP を XLSX に変換する方法
実装は次の手順に分解できます:
- 認証の構成 -
ConfigurationオブジェクトはclientIdとclientSecretを保持します。const config = new Configuration({ clientId: 'YOUR_CLIENT_ID', clientSecret: 'YOUR_CLIENT_SECRET' }); - API クライアントの作成 -
ApiClientは構成でインスタンス化され、TasksApiとStorageApiに渡されます。const apiClient = new ApiClient(config); const tasksApi = new TasksApi(apiClient); const storageApi = new StorageApi(apiClient); - MPP ファイルのアップロード - ファイルはバッファに読み込まれ、
storageApi.uploadFileを介して送信されます。const fileBuffer = fs.readFileSync(localInputPath); await storageApi.uploadFile({ path: `${remoteFolder}/${remoteFileName}`, file: fileBuffer }); - XLSX レポートのリクエスト -
tasksApi.getTaskReportはreportType: 'TaskSheet'とformat: 'xlsx'を指定して呼び出されます。const reportResponse = await tasksApi.getTaskReport({ name: remoteFileName, folder: remoteFolder, reportType: 'TaskSheet', format: 'xlsx' }); - 結果をローカルに保存 - バイナリ応答ボディは
project.xlsxに書き込まれます。fs.writeFileSync(localOutputPath, reportResponse.body);
これらの手順は、STEP by STEPで大きなMPPファイルをNode.JSでXLSXに変換するワークフローを示しており、GanttChart や ResourceSheet などの他のレポートタイプにも適用できます。
Aspose.CAD Cloud SDK の前提条件とセットアップ
- Node.js バージョン - Node.js 14 以降が実行されていることを確認してください。
- SDK のインストール - npm を使用してパッケージをプロジェクトに追加します。
パッケージは公式のダウンロードページから入手できます。
npm install @asposecloud/aspose-cad-cloud - Aspose Cloud アカウントの作成 - Aspose Cloud ダッシュボードから
clientIdとclientSecretを取得します。 - 環境変数の設定(オプションですが推奨)- 資格情報をソースコードから分離するために使用します。
これらの前提条件が満たされていれば、前述の完全なコード例を実行できます。
変換オプションと設定
Tasks API は、出力に影響を与えるいくつかのパラメータを提供します:
reportType- エクスポートされるデータの種類を決定します。オプションにはTaskSheet、GanttChart、ResourceSheetなどがあります。例ではTaskSheetを使用して、XLSX 形式のフラットなタスクリストを生成します。format- 現在xlsx、pdf、htmlをサポートしています。この値を変更すると出力ファイルのタイプが切り替わります。folder- ソース MPP が存在するクラウドストレージのフォルダーを指定します。プロジェクト構成に合わせて必要に応じて調整してください。
オプションの完全な一覧については、API リファレンスをご参照ください。
まとめ
Node.JS で MPP を XLSX に変換 する完全な本番対応メソッドが、Aspose.CAD Cloud SDK for Node.js を使用して利用可能になりました。SDK は認証、ファイル保存、レポート生成を処理するため、XLSX データをビジネスロジックに統合することに集中できます。本番環境で使用するには適切なライセンスを取得することを忘れないでください。価格情報は製品ページで確認でき、一時ライセンスページ から一時ライセンスを取得できます。コーディングを楽しんでください!
よくある質問
Aspose.CAD Cloud SDK を使用せずに Node.JS で MPP を XLSX に変換できますか?
カスタムパーサーは可能ですが、Aspose.CAD Cloud SDK for Node.js は、テスト済みで信頼性の高いソリューションを提供し、開発時間を節約し、エッジケースを処理します。
MPP を XLSX に変換する際に利用できるレポートタイプは何ですか?
The API supports TaskSheet, GanttChart, ResourceSheet, and more. Selecting a different reportType changes the structure of the generated XLSX file.
大きな MPP ファイルを変換中にどのように処理しますか?
ストレージ API を使用して大きなファイルをチャンクに分割してアップロードし、変換ステータスを監視し、メモリ使用量が高くなるのを防ぐために XLSX 結果をストリーミングします。