C#で使える帳票ツールを探しています。

条件として
 ・Excel形式のファイルを作れること(CSVではダメ)
 ・無償であること
の2点です。
オススメがありましたら教えてください。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/01/24 18:18:50
  • 終了:2008/01/31 18:20:02

回答(2件)

id:ffmpeg No.1

ffmpeg回答回数1202ベストアンサー獲得回数92008/01/26 03:30:26

ポイント35pt

帳票ツールってなんですか?http://www

id:sho49cc

曖昧な書き方で申し訳ありませんでした。

たとえばCrystal ReportsやActive Reportのような、

プログラムから任意のスタイルの帳票(今回はExcel *.xls形式)を作成するツールです。

有償ツールだと http://www.adv.co.jp/products/product_ExcelCreator2007.htm が正にほしいものにあたります。

現在の状況として、ユーザがライセンスフリーであることをどうしても譲れないとのことで、

COMを使った手作りのプログラムでExcelファイルを作成しているのですが、

COM経由ですとどうしても実行速度に難があり、打開策としてライセンスフリーなツールを探しているところになります。

現在のCOM利用プログラムのチューニングは出来るだけのことはやったと思いますので、現状は別の方法を探しています。

ツールでなくとも何かよいアイデアをお持ちでしたらご教授いただければ幸いです。

2008/01/28 10:30:28
id:airplant No.2

airplant回答回数220ベストアンサー獲得回数492008/01/29 01:11:40

ポイント35pt

以前、知り合いがC#で次のツールを使っていました。しかし、有償なので対象外ですね(ExcelCreatorと同様クライアントライセンスはフリー)


http://www.componentsource.co.jp/products/spread-net-web-forms-j...


C#だけでExcelを作って十分業務でも利用できていると思ったので、情報仕入れてみます。

たぶん、下のリンクのようなコーディングをしていると思うのですが、、、 

このようにコーディングするのではなく、帳票ツールを探しているのですよね?

http://jeanne.wankuma.com/tips/excel/execute.html

http://bbs.wankuma.com/index.cgi?mode=al2&namber=2539&KLOG=11

id:sho49cc

ありがとうございます。

クライアントライセンスがフリーですので、エンドユーザに負担はかからないことも説明できている(つもり)なのですが、

どうしてもそこを何とかしたいというのが顧客要望でして、悩んでおります。

今書いてあるコードは正に下のリンク先にあるようなCOMを使ったExcel操作です。

Visible=falseにして見えないところでワークシートを生成・整形しています。

以下のサイトにあるようなチューニングも出来る限りのことはやったのですが、

http://www.officetanaka.net/excel/vba/speed/index.htm

軽い(1~3ページ程度)のデータ量ならストレスなく動作しても、

データ件数が数千件、Excelの行数で1000行を超えてくるようなものもありまして、

ひどいものだと10分程CPU100%で走り続けてしまいます。

もっとウデがあれば実現できるのかもしれませんが・・・

引き続き、何か情報がありましたら宜しくお願いいたします。

2008/01/29 09:27:12
  • id:airplant
    残念ながら、知人はC#だけではなくSPREADを使っていたようです。
    データを作って、後はsaveExcelみたいなメソッドを読み出すだけで1000行あっても5秒もかからずに終わります。

    なお、.NET Framework 3.5 からは、Officeとの連携が標準で装備されているようです。しかし、品質は、、、
    http://www.microsoft.com/japan/presspass/detail.aspx?newsid=3277

    ツールを買う場合でも、10万円以下で経費扱いなので、今必要な場合は購入されることをお勧めします。
  • id:sho49cc
    追加の情報ありがとうございます。
    知人の方に問い合わせていただいたようで、感謝しきりです。
    私もSPREADは昔VB6で使ったことがあります。
    確かにあれなら速そうですね。

    .NET Framework 3.5 にそんな機能があったのですね。
    今後の品質向上に期待・・・(ちなみに私の会社では.NET Framework は2.0で統一しています)

    きちんと製品評価リストを作成して、ユーザにツール利用を改めて提案しようと思っていますが、
    別途悪あがきも考え始めています。

    ExcelでXML形式での保存・読み込みが可能であることに気がつきました。
    適当なXLSファイルを 名前をつけて保存 ⇒ ファイルの種類(*.xml) で保存することで、
    ExcelファイルをXMLで表現できるようです。
    ExcelのXML読み込みは高速(通常のXLSファイル読み込みと大差ない模様)だったので、
    プログラムからExcel形式XMLを作成してDOMで読ませれば速いのではないかな、と。

    ただ、Excelが自動付与するタグがかなりの量だったので、
    DOMでその辺りをうまく処理して必要な部分のみ書き換え・挿入をすればいけるかもしれません。

    お付き合いくださいましてありがとうございました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません