Q&A

回答の並べ替え:
投稿新規に質問を投稿する

csv出力時に自動でつくダブルクォーテーションをなくせるか

ajuju ajuju

2022-02-10 18:05

csv出力機能を用いて固定長のデータを出力する処理を作成しています。
1つのセルに固定長のデータを全て入れ、その1つのセルのみcsv出力する方針です。
やりたいこととしては下記の投稿が近いです。
https://developer.celf.biz/questions/11210/

しかし、固定長のデータがカンマを含む場合、csv出力のエスケープ処理により
出力されたデータがダブルクォーテーションで囲まれてしまいます。

<出力したいデータ>
1000100YOKOHAMA, JAPAN

<実際に出力されるデータ>
“1000100YOKOHAMA, JAPAN”
ダブルクォーテーションで囲まれている。

<データがカンマを含まない場合>
1000100YOKOHAMA JAPAN
ダブルクォーテーションで囲まれない。

カンマを含むデータを、ダブルクォーテーションなしで出力することは可能でしょうか?

【追記】
バージョン:2.0

ajuju ajuju
ご回答いただきありがとうございます。
(全銀フォーマットの投稿も大変お世話になっております、いつもありがとうございます)

やはりダブルクォーテーションで囲まれてしまうのですね。。
字数制限や改行コードについても合わせてご教授いただきありがとうございます。

固定長のデータを出せれば1つのセルでなくても良いので、現在下記の対処法を考えています。
かなり苦肉の策ですが、、

セルA1:1つ目のカンマの手前まで
セルB1:1つ目のカンマの次の文字から2つ目のカンマの手前まで
セルC1:2つ目のカンマの次の文字から3つ目のカンマの手前まで

セルXX1:nつ目のカンマの次の文字からn+1つ目のカンマの手前まで


→セルA1:XX1をcsv出力すると、想定通りの位置にカンマがある&ダブルクオーテーションがつかない(はず。。。)

何か他に良い固定長のデータの出力方法などご存じでしょうか。
Yexiongmao Yexiongmao
こんにちは。

1セルにテキストを書き込む方法は色々制約があります
① 1セルに全て書き込むので、総文字数が32,767文字以下
② 改行コードがLF(0x0A)のみ、CR/LFはCHAR関数が使えないので、挿入できません。
③ 出力されたデータがダブルクォーテーションで囲まれる。
特に③はcsv出力には致命的ですが、テキスト出力が「csv出力」のみの現状では、どうすることもできないようです。