問題タブ [cfspreadsheet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1131 参照

excel - ColdFusion で適切な Excel スプレッドシートを作成できない

クライアントから、クエリから Excel スプレッドシートを生成するように依頼されました。フィールドを追い出すクエリがあり、問題なく Excel ファイルを生成できます。問題は、クライアントがその Excel ファイルを取得し、それを操作しようとしたときに発生します。

問題の大部分は、通貨または日付としてマークする必要があるフィールドから発生します。私は、「実際の」日付フィールドを生成することができます。以前は、Excel で日付が正しく並べ替えられていませんでした。以下のコードを使用して、Excel 数式を呼び出すことができました。DateValueExcel がこれを実際の日付フィールドとして認識するように強制します。ただし、このファイルを Excel で操作すると失敗します。

次の問題は通貨フィールドです。Excel に値を通貨として認識させることができません。それは常にカスタムになります。これが設定されている場合、SUM関数は Excel で動作しません。のようにフィールドを個別に追加できますA1+B1+C1 = TOTAL。ただし、200 行ある場合、これは役に立ちません。

同様の状況にある別の CF プログラマーから提案を得ることができました。最初に、適切な見出しを付けて Excel ファイルを生成し、列を日付や通貨などの適切なフィールドに設定しました。

次のステップは、フィールドを行ごとに入力することであり、適切にフォーマットする必要があります。

コード:

セル内のデータは既に適切にフォーマットされています。このファイルが生成されてユーザーにストリーミングされると、列が期待どおりにフォーマットされません。

この方法が機能するかどうか、またはCFにExcelが認識できる適切な日付と通貨フィールドを生成するためのより良い提案があるかどうか、他の誰かが知っていますか?

RHEL 5 で実行されている Adob​​e ColdFusion v10。

リクエストごとqueryNeに、コードの日付と通貨を生成する w を使用したコードを次に示します。

ステップ 1: 最初の行が固定され、列ヘッダーがある Excel ファイルを作成しました。列 1 は日付として指定されており、形式は長い日付 (mm/dd/yyy) です。列 2 は、通貨に設定されているドルです。

そのファイルを読み、行に入力し、ファイルをユーザーにストリーミングしてダウンロードします。

MS Excel または Google スプレッドシートでファイルを開くことができます。最初の行を固定してテストします。日付フィールドで並べ替えることができるはずです。私の結果は次のとおりです。日付が正しくソートされていません。列 2 の通貨で、動作する SUM を実行しようとすると! これは以前は機能していませんでしたが、現在は機能しています。

また、ファイルを開こうとすると、このファイルが壊れているという警告が表示され、Excel が開こうとします。Google スプレッドシートではそのような警告は表示されません。

0 投票する
2 に答える
3008 参照

coldfusion - SpreadsheetFormatRows 形式の色 ColdFusion

ColdFusion と SpreadsheetNew、SpreadsheetAddRows、SpreadsheetFormatRows などの関数を使用して Excel ファイルを作成しています。ここにある私が読んだドキュメントによると、それらは色とfgcolorのプロパティです。2つの違いは何なのか、少し混乱しています。1 つはテキストの色で、もう 1 つは背景の色ですか? 行の背景色を設定するために fgcolor を使用しています。

org.apache.poi.hssf.util.HSSFColor私の主な質問は、ドキュメントによると、色クラスの任意の値を自分の色として指定できることです。ただし、HEX 値または RGB のいずれかを指定する必要があります。Excelのカラーピッカー内で入力できるので、Excelがそれを処理できることを私は知っています。行の色に HEX または RGB 値を入力する方法はありますか?

ありがとう!

アップデート

0 投票する
2 に答える
2574 参照

coldfusion - cfspreadsheet を .csv として保存すると、Excel で「FILE.csv のファイル形式と拡張子が一致しません」と表示されます。

SalesForce.com に簡単にアップロードできるように、MYSQL から CSV ファイルにクライアント リストを出力するコールド フュージョン ページを作成しました。

すべての正しい情報を含むファイルを生成できます。ただし、Excel で開こうとすると、次のエラーが表示されます。開けないでください。それでも開けますか?」私はそれを開くことができます(MACのExcel)が、CFSpreadsheetが正当な.csvファイルを作成しておらず、代わりにxlsxを作成しているように見えます。

XLS ファイルを作成すれば、CSV の場合のような問題はありません。これはコード、CFSpreadsheet、または Excel (Mac 用) の問題ですか? 直せますか?

0 投票する
2 に答える
455 参照

coldfusion - SpreadsheetFormatRow が突然動作を停止する

この投稿を見ましたが、解決策があるようです。とにかく、ColdFusion 10 を使用して Excel スプレッドシートを生成しています。ただし、SpreadsheetFormatRow() を使用して書式設定する行を渡すと、約 3 しか実行されず、突然停止します。ここに例があります...

ColdFusion コード

これは、結果の Excel シートのスクリーンショットです。

ここに画像の説明を入力

行数とセル数が X になった後に書式設定が停止するのはなぜですか? XML形式の使用に切り替えると

正常に動作します。ただし、色にカスタム パレットを使用しているため、XLSX 形式に切り替えてもうまくいかないと思います。試してから電話すると

getCustomPalette() メソッドが定義されていないというエラーが表示されます。

誰でもこれを理解するのを手伝ってもらえますか? ありがとうございました!!!

または、XML 形式で動作するため、XLSX (xml 形式) でカスタム パレットを使用する方法の例を誰でも示すことができます。

0 投票する
0 に答える
321 参照

coldfusion - ColdFusion - 既存のスタイルに影響を与えずにPOI setCellStyle?

行のストライピングを行うために、Excel ファイル用に作成された cellStyle があります。また、数値を含むセルを RIGHT ALIGN に設定したいと考えています。セルの値をチェックすることでこれを達成できます。数値の場合は setCellStyle(styleRightAlign) で、styleRightAlign は右揃えの cellStyle の名前です。

ただし、これは既存のスタイルを上書きし、セルの背景色が正しくなくなります。正しく配置されていますが、既存のものをオーバーライドするのではなく、セル スタイルを「追加」するにはどうすればよいですか?

これは可能ですか?

CellUtil setCellStylePropertyメソッドの使用を検討しましたが、ColdFusion でこのインスタンスを作成する方法と、それが必要かどうかがわかりません。

アップデート

そのため、CF 11+ には CellUtil が利用できるように見えますが、CF 10 にはありません。図。そのため、背景色を含む alignRight の行ストライピングで別のスタイルを作成しています。既存の cellStyle に影響を与えずにセルを整列させる方法を誰かが知っている場合は、ぜひ聞いてください。

0 投票する
2 に答える
569 参照

coldfusion - Excelシートに完全な数字を表示するには?

cfspreadsheet を使用してクエリを Excel ファイルにエクスポートしています。それは機能しており、Excelシートを作成しています。ただし、問題は、列の 1 つ、つまりcard_numberに 15 桁の数字が含まれており、次のように表示されることです4.5421E+15。代わりに完全な数を表示する方法はあり4254218068670980ますか?

0 投票する
1 に答える
568 参照

coldfusion - ColdFusion - 数値としての POI Excel ワークブック形式

ColdFusion と POI Workbook を使用して Excel ファイルを作成しています。ファイルはうまく作成されていますが、数値を含むセルがあり、SUM やその他の関数が正しく機能するために数値として保存する必要があります。

基本的にデータをループするExcelシートにデータが追加された後、コードを呼び出したいと思います。値が数値の場合は、データ形式を数値として設定します。そうすれば、Excel ファイルを開くときに、その列のデータに対して SUM などを実行できます。

以下は私がこれまでに試したことであり、すべてのセルの背景色が #EBEBEB であるため「機能」しますが、以下に示すように「数値がテキストとして保存されています」という警告がまだ表示されます。どうすればこれを修正できますか?

ここに画像の説明を入力

0 投票する
1 に答える
223 参照

coldfusion - CF スプレッドシートの人口がハングしないようにするにはどうすればよいですか?

cf スプレッドシート オブジェクトの行にデータを入力して xls ファイルを作成するときに問題が発生しました。私の開発サーバーでは、プロセス全体に約 1 分しかかかりませんが、本番サーバーでは、クエリ ループの最初の繰り返しでページが無期限にハングし始めます。以下のコードでハングし始める場所にコメントしました。

qReconciled のすべての行、ループされるクエリ (結合の結果) について、スプレッドシートに 3 つの行を作成しています。最初の行は結合の片側からのデータを保持し、2 番目は反対側からのデータを保持します3 番目は空白行です。

クエリ qReconciled (約 2,200 行あります) には問題はありません。dev と prod の SQL Server studio でクエリを実行しましたが、どちらの場合も実行に約 1 分しかかかりませんでした。

dev サーバーと prod サーバーの両方で、プロセスの実行中に CPU が 100% またはほぼ 100% に固定されることに注意してください。しかし、開発サーバーは専用のボックスですが、製品サーバーは同じボックスを共有する他の 3 つの VM を持つ仮想マシンであるため、VM のメモリ割り当ての問題に過ぎないのではないかと考えています。

Ben Nadel の POI Utility cfc を使用することを検討しました。その場合、新しいクエリを作成し、スプレッドシートに入力するのと同じ方法で入力し (qReconciled の 1 行ごとに 3 行)、クエリを writeSingleExcel にフィードします。 ().