- - PR -
CSV加工について
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-12-06 17:13
お世話になります。
.NETではないですが、どこに書いていいかわからずここに書き込みしてしまい 申し訳ありません。 VB6.0でエクセルファイルからCSVファイルへのデータ変換(加工含む)を 行いたいと思っております。 その際、元データとなるエクセルファイル側には 項目として、「空データ」「社員番号」「苗字」「名前」 という順番に社員数分、並んでいるとします。 これを、ただCSVに変換するだけであれば簡単ですが 社員一人につき、CSV1ファイルという形にしたいのです。 そして、作成されるCSVファイルのファイル名を「社員番号.csv」としたいのです。 また、csvデータのほうは、 1,"" 2,「苗字」 3,「名前」 といった並びにしたいと思います。 空データは空文字列として入れます。 これが全体の仕様なのですが このなかで、社員番号をCSVのファイル名にしたものを 社員数分出力する、というのをどうやればいいのかわかりません。 ご教授よろしくお願い致します。 | ||||||||
|
投稿日時: 2005-12-06 17:33
行毎にファイル名を社員番号.csvにしてファイルのOPEN、CLOSEをすればいいだけだと思うのですが?
そういうことではないんでしょうか? | ||||||||
|
投稿日時: 2005-12-06 17:36
実現したい動作について、もう少し分割してみてはいかがでしょう? 不明な点がはっきりとするかもしれません。 机上の空論で申し訳ないのですが、例えば 1)XLSファイルから、社員一人分のデータを抽出する部分 2)抽出した社員番号等を利用して「社員番号.csv」という名のファイルを作成する部分 3) 1、2を社員数分繰り返す部分 とかで。もう少し適切な分け方があると思いますが、例ということでご容赦を。 どこまでできて、どこから分からないかを整理することが解決の近道になると思います。 | ||||||||
|
投稿日時: 2005-12-07 01:33
それ以外は、お判りになられているとのことですので少しだけ。 「CSV のファイル名にしたもの」までをメソッド化し、それを社員数分出力すれば良いですよね。 社員数分は読み取った行数ですよね。 さほど問題にはならないと思いますが... 何か問題となることがあるのでしょうか? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2005-12-07 14:23
皆様、ありがとうございます。
おかげで、目的達成できることができそうです。 今度は逆のことがしたいのですが、CSVファイルから エクセルファイルに変換したいのです。 その際、つまずいているのがCSVファイルのほうのデータが 1,a 2,b 3,c と言った具合に、改行がされているのです。 上記のようなCSVファイルを a b c という風にエクセルシートに並べたいのです。 a,b,c とCSVにしても構いません。 現在、 ****************************************** SplData = Split(LineData(i), ",") '変数に区切ったデータを代入していく。 'それをもとにデータ加工する。 F01 = SplData(0) F02 = SplData(1) F03 = SplData(2) ******************************************* 上記のような記述をしていますが カンマ区切りでやろうとしてるので改行のところで インデックスが有効な範囲にありません というエラーが出てしまいます。 このような場合、どうすれば良いでしょうか。 | ||||||||
|
投稿日時: 2005-12-07 14:53
自分が何をしているのか理解してますか? 2列しかないのに、3列目なんてとれなくて当然でしょう。
2列3行の配列を作ってから3列2行の配列に変換する、これですむと思いますが。 [ メッセージ編集済み 編集者: Edosson 編集日時 2005-12-07 14:54 ] |
1