2016年6月28日火曜日

Filemaker 勝手にエクスポート問題

なぜ、filemakerではエクスポートの時に ” ダブルクォーテーション(ダブルコーテーション)で囲まれるのかが理解できない。
開発者をうまい飯でも食べながら、問い詰めたい気分だ。


Filemakerで CSVでエクスポートすると、こんなかんじ

"0000","テキスト文字","2016/06/09"


なんでもかんでもダブルクォーテーションで囲まれる。
ダブルクォーテーションで囲みたかったら自分で囲むよ。
余計なお世話だ。
それかオプションで選べるようにしてほしい。
もしかしたら、新しいVerは選べるのか?


■回避策として

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fmp="http://www.filemaker.com/fmpxmlresult">
<xsl:output method="text" encoding="Shift_JIS"/>
<xsl:variable name="br">
<xsl:text disable-output-escaping="yes">&#13;&#10;</xsl:text>
</xsl:variable>
<xsl:template match="fmp:FMPXMLRESULT">
<xsl:for-each select="fmp:RESULTSET/fmp:ROW">
<xsl:for-each select="fmp:COL">
<xsl:value-of select="fmp:DATA"/>
<xsl:if test="position()!=last()">,</xsl:if>
</xsl:for-each>
<xsl:value-of select="$br"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

1.上記をメモ帳でコピペして、csv.xsl として保存。保存できなければ後でリネーム

2.FMメニューバー>ファイル>レコードのエキスポート>保存ファイル名→「すきなひとのなまえ.csv」、保存場所指定→「デスクトップ等の好きなところ」

書出形式→「XML」>設定ダイヤログ:文法→「FMPXMLRESULT」

□→■XSLスタイルシートを使用にチェック

ファイルで指定→先ほどの「csv.xsl」を指定>通常と同じエクスポート項目選択ダイヤログ→書出しフィールドを指定>書出し実行

3.あとはスクリプトで行いたかったら、レコードのエクスポートを上記を参考に作る

ダブルクォーテーション無しのcsvが完成する

0 件のコメント:

コメントを投稿