- - PR -
CSV ⇒ EXCEL エクセルファイルを確認すると「001」が「1」と表示されます。
«前のページへ
1|2|3
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-01-12 09:49
Excel.Application から CSV ファイルを開いて、 FileFormat を Excel Book に変更することで可能であることは、私も保証します。 が、"001" が "1" になることを防ぐことはできるのでしょうか? CSV ファイルから開いた時点で、書式は失われ "1" という数字になっています。 再セットする必要があるとして、「"001" であった」ことは、Excel.Application から取得できるのでしょうか? 私は、それを焦点に当てています... (^^;) これができるのであれば、低速なれど方法の 1 つとして選択は可能です。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2006-01-12 10:22
でしたっけ? ワークブックを保存するまでは、セルデータは 001 で、書式のせいで 1 になってるもんだと勘違いしてました (^^; となると、「CSV を Excel で開いてから」どうこうする戦略は×ですね。 CSVのデータをプログラムで読み込んで、新規で開いたワークブックのセルに1個ずつ書式とともにセットするか、Excel をオートメーションして書式付でとりこませるかの2つくらいしか道はないかな? | ||||||||||||
|
投稿日時: 2006-01-12 10:25
Workbooks.Open を用いた場合には、数値(Double)として取り込まれますので、 無理です。 簡単にやりたいのであれば、既出ですが拡張子を ".txt" に Rename してから OpenText Method で取り込む。 あとは、Cell の書式設定を文字列にしておいて、 Workbooks.Open とは別の手段を用いてゴリゴリと Cell に Set するとか。 ちなみに、VBA とかであれば、一度 String 型の変数に Set すれば、 文字列で取り込まれますが、.NET ではどうなのでしょうかね? | ||||||||||||
|
投稿日時: 2006-01-12 10:55
Excel.QueryTableを使うと書式付けて読めますよ。
| ||||||||||||
|
投稿日時: 2006-01-12 11:31
実は、OpenText メソッドは先ほどからこっそり試していました。(^^;) Extension を .txt に変えると 1 つのデータとして見なされるので、 Delimiter をカンマであることを明示化する必要がありますね。 そして、それよりももっと重要なのは、FieldInfo の指定をせねばならないことですね。 指定しなければ、問題は CSV の時のままです。 # これが判らなかった...
こんな感じでいけそうです。(多分)
はい、置き換えれば OK ですね。 ベタに "001" とかを設定すると、"001" として保持されます。 あー、調べ疲れました... _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |
«前のページへ
1|2|3