2009-07-02 10 views
3

誰かがExcel文書を生成するためのJavaベースのライブラリを使用していますか?好ましくは2003年のサポートですか?文書をプログラムで生成する

+0

「ドキュメント」とはどういう意味ですか?レポートのように見えるものか、数字でいっぱいのスプレッドシートですか? – pjp

+0

スプレッドシートを生成する:) – predhme

答えて

6

私は現在、非常に包括的なApache POI(http://poi.apache.org/index.html)を使っています。 2003年のファイル形式のバージョンはまだベータ版ですが、十分にうまくいくようです。私はそれを非常に力を行使していないだけで、Excelの読み書きは簡単ですが、信頼できると思われます。

+0

Apacheはすべてのライブラリを提供しているようだ。 POIは、私たちが探しているものを正確に提供しているようです。どうもありがとう! – predhme

+0

私は下で述べたように、すでにCSVファイルを生成していますが。 POIはそれらをインポートし、Excelファイルを生成できますか?アプリのユーザーはすでに毎日何百ものファイルを生成しており、それぞれをインポートすると膨大な時間を費やしています。 – predhme

+0

JavaでCSVをインポートするには、何も気にする必要はありません。 CSVReaderなどの優れたCSVパーサを探してください。http://code.google.com/p/secrets-for-android/source/browse/trunk/src/au/com/bytecode/opencsv/CSVReader.java?spec= svn19&r = 19 – pjp

6

私はこれを行う必要があるときはいつでも、1つの大きなhtmlテーブルで十分だろうかと思います。

多くの時間です。 HTMLタグを記述し、.xlsファイルとしてラベルを付けるだけです。 Excelは、私は現在量産中であるレポートに個人的にそれを使用しました正しく

+0

+1 :-) WOW nice trick – Blauohr

1

JExcelApi

それを開きます。それは十分なドキュメントと十分にまともなライブラリであり、オープンソースです。

非常にうまく動作しますが、注意すべき点がいくつかあります。それらのどれもが契約を破る人ではなく、いくつかのことをどうやってやるべきかを指示するだけです。 FAQを必ず読んでください。それを説明し、それらを避ける方法を教えてくれるでしょう。

1

フォーマットされたHTMLテーブルは正しくインポートされますが、より高度なニーズ(複数のワークシート、数式など)の場合はExcel 2003 XML ToolboxのExcel XMLフォーマットを使用する方がよいでしょう。

+0

.xlsとして保存された単純なHTMLテーブル内のsidenoteの式もうまく動作します。より複雑なものが必要な場合は、Excelで「テンプレート」ワークブックを作成し、XMLとして保存し、そのXMLの名前を.xls(Excelはファイルをうまく処理します)の名前を変更してから、XMLファイルを不足情報を挿入するテンプレートとして使用します。 http://poi.apache.org/も正常に動作します。 –

+0

別の答えに言及したように、ユーザーは毎日何百ものレポートを生成しており、それぞれのレポートをExcelにインポートするのは時間の無駄です。ユーザーのために直接ファイルを生成する必要があります。 – predhme

+0

私が報告するとき、私はCSV、PDFsなどを意味します。ユーザーがCSVをExcelにインポートする代わりに、Excelファイルを既に作成しておく必要があります。 – predhme

2

見出しが必要ない場合は、CSVと出力してください。

+0

アプリケーションはすでにCSVファイルを生成しています。いくつかのユーザーは、後でレポートを生成するために、何百ものファイルを生成します。 1つのファイルをExcelにインポートすると問題はありませんが、何百ものファイルが不規則な時間を浪費します。むしろ、彼らはその部分が世話をして欲しい...私はそれらのためのExcelファイルを生成します。 – predhme

+0

私たちはすでにデータのCSVを生成しているので、「インポート」プロセスはプログラムによってJavaを通じて実行できますか? – predhme

+0

何百ものファイルをExcelに正確にどのようにインポートしていますか?彼らは別のシートに表示されますか?彼らは一緒に集められていますか?あなたは現在、これを行うためにVBAを使用していますか? – pjp

1

私は、一般的なJavaとCOMソリューションとしてJacobでそれを行います。しかし私の読書では、Jacobは複数回のコール(数百万回のコール)をうまく処理できず、少し修正する必要がありました。これらのパッチは、Jacobの管理者によって受け入れられませんでした。

とにかくJacobはオープンソース(LGPL)であり、パッチを当てた後、私はまだ何年も稼動している実稼働環境を持っています。

COMでExcelに接続したら、標準のExcel APIを使用してドキュメントを処理します。まず、VBS(VBScript Language Reference)で動作する方法を試してから、javaで実装してください。

0

あなたはこのようなJavaからCAL、スクリプトをVBSでファイルやExcelを生成することができますスクリプトを作成する

String script = "your_VBS_Name.vbs" 
String cmd = "D:\\YourPath" + script; 
Runtime.getRuntime().exec(cmd); 

オープンメモ帳は本当に簡単で、次の例に従います。

Set objExcel = CreateObject("Excel.Application") 
objExcel.Visible = True 

Set objWorkbook = objExcel.Workbooks.Add() 
objWorkbook.SaveAs("D:\yourExcel.xls") 

objExcel.Quit 

、その後your_VBS_Name.vbs

のThとして保存しますats it!

関連する問題