• ベストアンサー

Cでexcelを読込み

列  A  B  C 行 1   1  2  3 2   10 11 12 上のようなD:¥11.xlsデータをCで読み込んで、配列に入れたい。例えば a[1][1]=1 a[1][2]=2 a[1][3]=3 a[2][1]=10・・・・、どうすればいいのかさっぱり 分からないです。誰か教えていただければありがたい。

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

  • ベストアンサー
回答No.4

まず、CSVならば以前私が回答した内容で読み込めると思います。

参考URL:
http://oshiete1.goo.ne.jp/qa5449912.html
enli
質問者

補足

ご回答いただきありがとうございます。 早速ですが、hiro_knighさんの例は文字の例ですが、今困るのは文字をint型に変えることです。データ間の計算をしなきゃだから。xlslibも読んでいます、いけそうな気がするけど。

その他の回答 (4)

  • reset_cat
  • ベストアンサー率68% (94/138)
回答No.5

文字を数値(int型)に・・・ということなら、いったん#4さんの回答で文字として読み込んだ後で、atoi関数で数値に変換してしまえばいいのでは? Unicodeの問題がありそうだから_ttoi関数のがいいかも?

enli
質問者

補足

ご回答いただきありがとうございます。 #4さんのコードでなんかcompil出来なかった。dev-C++ というcompilerを使っているけど。warningはすべてstray '\129' in program stray'@' in program なぜかがお判りになりますか?

回答No.3

とりあえず情報を。。ということで googleで「excel ファイルフォーマット」で検索しました。 EXCELファイルの内容を読み込むためのライブラリが用意されているようです。 中身はまだ見ていません。

参考URL:
http://xlslib.sourceforge.net/index.php
enli
質問者

お礼

情報をご提供いただき、ありがとうございます。今のレベルでまだ使えないですね

  • kenpon24
  • ベストアンサー率64% (66/102)
回答No.2

エクセルファイルをそのまま読み込むのではなく、 エクセル側でCSV形式なりテキスト形式なりに保存してから C言語で読むようにしないと、大変だと思いますよ。

enli
質問者

補足

CSVファイルでも同じ質問ですね(ほぼC初心者)、CSVは文字なのに、もう一つは データの位置はどうすれば分かるか(excelでA1の形で決めるけど、Cは?) 簡単なコードを書いていただければ、大変助かります。

  • titokani
  • ベストアンサー率19% (341/1726)
回答No.1

純粋なCで.xlsファイルを読み込むのはほぼ不可能です。 C++でCOMを使うか、EXCEL上で.csvファイルを出力して使うかですね。

enli
質問者

お礼

早速ご回答いただき、ありがとうございます。C++はまだ学んでいないですね

関連するQ&A