- ベストアンサー
C言語 エクセルファイルの参照
***.xlsファイルのセルの参照の仕方を調べています。 例えば、「'2'と入力されれば、***.xlsファイルのセル'B3'の 値を出力させる」といった処理は可能でしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>例えば、「'2'と入力されれば、***.xlsファイルのセル'B3'の >値を出力させる」といった処理は可能でしょうか? ”B3に表示させる”ならCSVを作成し、読み込ませることで可能です。 "B3の値を読みだす"ことは残念ながらCSVでは限界があります。 手動操作が入っても構わないなら、 ExcelにCSVで保存してもらい、 C側で解析すればできます。 しかし全自動ではできません。 ExcelをはじめMS-Office製品外部プログラムから操作可能になっています。 それには COM (Componet Object Model)を使います。 COMはCからも操作可能です。 http://msdn.microsoft.com/ja-jp/library/cc351698.aspx しかし、少し面倒です。 開発環境がわからないので何とも言えませんが 純粋なC(C++ではない)で開発したいのなら 頑張るしかありません。 C++(VC++以外)であれば、少し楽ができます。 元々COM自体がCのクラス・オブジェクトに近い (クラス・オブジェクトそのものではない) ので、C++でクラスの扱いに慣れたプログラマ には親しみ安いと思います。 さらにVC++(Visual Studio)であれば、 COMのラップ(包み込んだ)クラスを生成してくれますので、 扱いはさらに楽です。 VSTOという手もありますが、 これはC#(or VB)となっています。 C/C++ではできません。 (VS2008の場合、その他のバージョンはわかりません)
その他の回答 (2)
- Tasuke22
- ベストアンサー率33% (1799/5383)
私は行ったことがありませんが、少なくともVisual C++ では出来るようです。 Activeドキュメント、COMコンポーネントがキーワードです。 csvなら簡単で、私はPHPでも読んだことがあります。
お礼
アドバイスありがとうございます。 色々なキーワードがとても参考になりました。
- DiveKo
- ベストアンサー率70% (7/10)
VCでもなく、C言語ですよね?あくまで、参考程度ですが。。。 ↓にも書いてありますが、 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1310426608 CSV形式なら可能です。 【参考】:http://oshiete1.goo.ne.jp/qa2154721.html それ以外は、難しい(無理?)かと思います。 【参考】:http://oshiete1.goo.ne.jp/qa4292899.html
お礼
参考URLありがとうございます。 やはり初心者にはcsv形式がいいんでしょうか。 提示いただいたサイトを参考にしながら頑張ります。
お礼
ありがとうございます! 大変助かりました。 言葉足らずですみません。 Visual C++2005を使ってC言語を勉強中です。 C++はまだ触ったことはないですが、また 挑戦したいと思います。