開発者向け機能:サーバスクリプト:$ps.file.export
## 概要
[サーバスクリプト](/ja/manual/table-management-server-script)で[$ps.file](/ja/manual/server-script-ps-file)を使用してエクスポートをする際に使用します。
## 前提条件
1. [Script.json](/ja/manual/script-json)のDisableServerScriptFileを false に設定することが必要です。
2. [テーブル](/ja/manual/table)の「エクスポート権限」が必要です。
## 構文
```
$ps.file.export(section, path, siteId, json);
```
## パラメータ
|パラメータ|型|必須|説明|
|:----------|:----------|:---:|:---------------------------|
|section|string|○|セクション名。セクションについては[$ps.file](/ja/manual/server-script-ps-file)の「セクションについて」を参照ください。|
|path|string|○|ファイル名。ディレクトリの区切り文字はWindow、Linux共に「/」を利用する。|
|siteId|string|○|サイトID|
|json|string|○|エクスポート用パラメータ|
## 戻り値
成功した場合にtrueを返します。失敗した場合はfalseを返します。
## 例外
C#内で例外が発生した場合はサーバスクリプト内に例外クラス名とエラーメッセージをErrorオブジェクトに入れて例外を発生させます。
## 使用例
以下の例では、Webサーバ内のcsvファイルのエクスポートを行い、結果をログに出力します。
### (a) 標準のエクスポート設定でテーブルをエクスポートする。
##### JavaScript
```
const siteId = 100;
const param = {
};
const result = $ps.file.export('01_develop', 'parts/01_parts.csv', siteId, $ps.JSON.stringify(param));
context.Log(result);
```
### (b) 文字コード:Shift-JIS の例
##### JavaScript
```
const siteId = 100;
const param = {
Encoding = "Shift-JIS"
};
const result = $ps.file.export('01_develop', 'parts/01_parts.csv', siteId, $ps.JSON.stringify(param));
context.Log(result);
```
### (c) Pleasanterで作成済みの[エクスポート](/ja/manual/table-record-export)設定を使用してテーブルをエクスポートする
##### JavaScript
```
const siteId = 100;
const param = {
ExportId: 1
};
const result = $ps.file.export('01_develop', 'parts/01_parts.csv', siteId, $ps.JSON.stringify(param));
context.Log(result);
```
### (e) 直接記述してテーブルをエクスポートする
##### JavaScript
```
const siteId = 100;
const param = {
Export: {
Columns: [
{
ColumnName: 'ClassA'
},
{
ColumnName: 'UpdatedTime'
}
],
Header: false,
Type: 'csv'
}
};
const result = $ps.file.export('01_develop', 'parts/01_parts.csv', siteId, $ps.JSON.stringify(param));
context.Log(result);
```
## サンプルコード
##### コード内の【 ... 】 は適宜修正してください。
<details>
<summary>1. 任意のフォルダにテーブルのデータをエクスポートする</summary>
任意のフォルダにテーブルのデータをエクスポートするサンプルコードです。
以下処理イメージです。

①sendフォルダに格納されている前回エクスポートしたCSVファイルをbackup/sendへ移動
②エクスポートしたCSVファイルをsendフォルダへ格納
##### JavaScript
```javascript
// 各種設定
const SECTION = 'files';
const SEND = 'send';
const BACKUP_SEND = 'backup/send';
const SITE_NAME = '【サイト名】';
const FILE_DATE_FORMAT = 'utilities';
// 処理日時の文字列取得
function getDateTimeString() {
return new Date()
.toLocaleString('ja-JP', {
year: 'numeric',
month: '2-digit',
day: '2-digit',
hour: '2-digit',
minute: '2-digit',
second: '2-digit',
hour12: false, // 24時間表示
})
.replaceAll('/', '')
.replaceAll(':', '')
.replaceAll(' ', '');
}
// サイト情報取得
const site = items.GetClosestSite(SITE_NAME);
if (!site) {
logs.LogException(`サイト:${SITE_NAME}が見つかりません。`);
return false;
}
const siteId = site.SiteId;
// 送信フォルダにあるファイルをバックアップフォルダに移動
const lists = $ps.file.getFileList(SECTION, SEND);
if (lists.length > 0) {
for (const element of lists) {
const moveResult = $ps.file.moveFile(
SECTION,
`${SEND}/${element}`,
`${BACKUP_SEND}/${element}`,
);
if (!moveResult) {
logs.LogException(`ファイル移動失敗 ファイル名:${element}`);
return false;
} else {
logs.LogInfo(`ファイル移動成功 ファイル名:${element}`);
}
}
}
// ファイルエクスポート:エクスポート定義のID:1を使用。対象レコードは「対象月が今年」のレコード
const param = {
ExportId: 1,
View: {
ColumnFilterHash: {
DateA: '["ThisYear"]',
},
},
};
const path = `${SEND}/${FILE_DATE_FORMAT}${getDateTimeString()}.csv`;
const exportResult = $ps.file.export(
SECTION,
path,
siteId,
$ps.JSON.stringify(param),
);
if (!exportResult) {
logs.LogException(`エクスポートに失敗しました。 ファイル名:${path}`);
return false;
} else {
logs.LogInfo(`エクスポート成功 ファイル名:${path}`);
}
```
</details>
## 対応バージョン
|対応バージョン|内容|
|:--|:--|
|1.4.13.0 以降|機能追加|
## 関連情報
<div id="ManualList"><ul><li><a href="/ja/manual/script-json">パラメータ設定:Script.json</a><span>2025/08/12 up</span></li></ul></article>
<ul><li><a href="/ja/manual/table">テーブル機能</a><span>2023/04/12 up</span></li>
<li><a href="/ja/manual/table-record-export">テーブル機能:レコードのエクスポート</a><span>2026/03/10 up</span></li></ul></article>
<ul><li><a href="/ja/manual/table-management-export">テーブルの管理:エクスポート</a><span>2026/03/10 up</span></li></ul></article>
<ul><li><a href="/ja/manual/table-management-server-script">テーブルの管理:サーバスクリプト</a><span>2026/02/10 up</span></li></ul></article>
<ul><li><a href="/ja/manual/dept-import">組織管理機能:インポート</a><span>2025/07/08 up</span></li></ul></article>
<ul><li><a href="/ja/manual/group-export">グループ管理機能:エクスポート</a><span>2025/07/08 up</span></li></ul></article>
<ul><li><a href="/ja/manual/user-export">ユーザ管理機能:エクスポート</a><span>2025/07/08 up</span></li></ul></article>
<ul><li><a href="/ja/manual/api-export">開発者向け機能:API:テーブル操作:テーブルのエクスポート</a><span>2023/08/17 up</span></li></ul></article>
<ul><li><a href="/ja/manual/server-script">開発者向け機能:サーバスクリプト</a><span>2025/11/27 up</span></li>
<li><a href="/ja/manual/server-script-ps-file">開発者向け機能:サーバスクリプト:$ps.file</a><span>2025/08/12 up</span></li></ul></article></div><input id="SearchTextHidden" type="hidden" value="" />



