• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:こんばんわ。)

CSV→Excelに変換の流れとデータ取得の問題

このQ&Aのポイント
  • CSV→Excelデータの取り込みにおいて、特定のデータがうまく取得できず、CSVでは空白が出力される現象が発生しています。原因が分からず、一時的にデータ取得を止めてマクロを使用した比較テストを行いました。結果として、修正前のExcelではうまく値を取得できることが分かりましたが、他の端末での検証では再び値を取得できない問題が発生しました。
  • 自分の端末のみでデータを取得できる現象が起きた後、Excelの再インストールを試みましたが、問題は解決しませんでした。これらの現象について、なぜ起きているのか理由を特定することはできません。
  • 問題の原因や解決策について分からないため、CSV→Excelにおけるデータ取得の問題が解決する方法を探しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.2

>・本来その列に入るデータは文字列で、だいたいどれも800バイト前後。 >そのセルをクリックするまでは"#########"で文字化け?している。 との事なので、文字列の長さ制限にひっかかってるだけでしょう。 読めたり読めなかったりしたのは、25行目までにその列の最大文字数のデータがあったかどうかの違いです。 (25行目まででデータをスキャンして読み込むデータ型が判断されていると思われます) "#########"となっているのはExcel側のセル書式設定が「文字列」になっているからです。 [標準]にしてみてください。 試しに、読めないCSVファイルのデータ列の1行目に、 =rept("a",911) などとして作った911文字のダミーデータを置いて読み込んでみてください。 >・並びも含め全く同一のCSVデータか確認してみる と書いたハズだったんだけど。 #911文字...Excel2003でCopyFromRecordsetを使っていた場合、 #912文字以上はエラーで書き込めない為。

ddtanaka
質問者

お礼

ありがとうございます。 確かに911文字の挿入することで 解決しました。 Excelにも知らないことがたくさんあるんだなぁと思いました。 質問自体もわかりにくいのにうまく読み取ってくださって 本当に助かりました。 ありがとうございます。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

情報不足なので明確に答える事ができるわけではありませんが、 全く同じデータを使って、端末によって違いがある場合、 ・Excelのバージョン、spの違い ・ADOのバージョン違い ・OSのバージョン違い ・他アプリケーションの影響によるレジストリ設定違い ・Schema.iniファイルの存在 ...などが可能性として考えられます。 再インストール後も違いがあるという事なので Excel以外の環境である事は確かですよね。 その場合、原因の追求は難しいのではないでしょうか。 詳細を調べて情報開示が必要になってくると思われます。 最低限、実行コードとテストデータ、貴方の環境情報の提示が必要でしょう。 #提示があったとしても回答側で再現できなければ厳しいかと思いますが なので、確認のポイントとしては ・並びも含め全く同一のCSVデータか確認してみる ・CSV同一フォルダのSchema.iniファイルの有無を確認してみる ・OS、Excelのバージョン等、できるだけ環境が近いものでテストしてみる ・ADOで使用したプロバイダやドライバのレジストリ値の設定を確認してみる などが挙げられますので、質問者さんご自身で検証なさってみてください。 #提示可能ならこちらでテストしてみても良いですが。 最終的にどの端末でも取得できるようにしたいという事なら、 ・Schema.iniファイルを使う ・ADO以外の手法(例えばQueryTablesなど)に切り替える 等、検討されてはいかがでしょう。 (参考) http://support.microsoft.com/kb/257819/ja Excelへの接続ですが、Textデータ取り込み時も共通する事項がありますので 参考になるかもしれません。

ddtanaka
質問者

補足

回答ありがとうございます。 Excelのバージョンの変更を行う前に(同じバージョンのExcel) 取得出来なかったデータが取得出来るようになりました。 よって、ご回答にあったバージョンの違いではなさそうです。 また、データが取得できない端末にてそのパターンを調べましたところ、 以下のような状態でした。 ・データ約500件中、取得出来ていないデータは一つの列で、約30件ほどあった。 ・本来その列に入るデータは文字列で、だいたいどれも800バイト前後。  (正しく出力されているデータでもだいたい同じくらい) ・出力されているExcelでのデータをみてみると、、 そのセルをクリックするまでは"#########"で文字化け?している。  (正しく出力されているデータでも"########"で表示されているデータが存在する。) ・その行のみの1行のCSVで取込むと取得される。 と規則性があまり見つからない状態でした。 出来ることならこのことの原因と対策を見つけ出したいところですが、 ご指摘の通り、Schema.iniファイルやADO以外の手法を用いることも 検討している次第です。

すると、全ての回答が全文表示されます。

関連するQ&A