Next Page

1

Previous Page

スレッド: SpreadsheetSetCellValueにて出力したセルの値を参照した数式が機能しない

作成日: 08/22/14 10:48 AM

返信: 10

akito


新米


入会日: 08/22/14

投稿数: 5

SpreadsheetSetCellValueにて出力したセルの値を参照した数式が機能しない
08/22/14 10:48 AM

お世話になっております。

掲題の通りなのですが、SpreadsheetSetCellValueにて出力したセルの値を
参照している数式が、ファイルを開いた時には機能せず、その数式のセルを
ダブルクリックしないと動かないと言う現象が発生しています。

<cfscript>
obj=spreadsheetread("test.xls","sheet1");
SpreadsheetSetCellVaule(obj,"test","1","1");
SpreadsheetWrite(obj,"temp.xls","yes");
</cfscript>

これでtest.xlsファイルのA2に"=A1"の数式を入れているのですが
temp.xlsを開いた直後のA2の値は0のままで、ダブルクリックして
エンターすると"test"の文字列が入るような状況です。

エクセルの数式の計算方法が手動になっているわけでもなく、
念のため、再計算実行してみても状況は変わらず、ダブルクリック
しないと、どうにも動かないような形になってしまっております。

こちら何か解決方法に心当たりのある方がいらっしゃいましたら
ご教示頂けますと幸いです。

環境:RHEL+CF9

Link | Top | Bottom

AXL


長老


入会日: 02/02/08

投稿数: 246

RE: SpreadsheetSetCellValueにて出力したセルの値を参照した数式が機能しない
08/24/14 9:59 PM

それって原因はエクセルにではなく ColdFusion にあるんですかね。
過去にCF9 とエクセルで個人的にそういったことはありませんでしたけどね。

環境は違いますが、CF11 と LibreOffice Calc(4.3.0) で試してみましたが問題はありませんでした。

ほかのプログラム(Calc のような)で XLS ファイルを開いても結果は同じですかね。

CF9 とエクセルに最新のパッチがあててあることを再度確認して、こちらで使用したコードを使って同様の症状がでるかどうか確認してみてください。
* Last updated by: AXL on 8/28/2014 @ 1:41 AM *

Link | Top | Bottom

AXL


長老


入会日: 02/02/08

投稿数: 246

RE: SpreadsheetSetCellValueにて出力したセルの値を参照した数式が機能しない
08/25/14 8:34 AM

言い忘れていましたが、xls ファイルへのパスはフルパスを。

例えば、
C:\test.xls

Link | Top | Bottom

akito


新米


入会日: 08/22/14

投稿数: 5

RE: SpreadsheetSetCellValueにて出力したセルの値を参照した数式が機能しない
08/25/14 10:24 AM

返信ありがとうございます。
頂いたコードで試してみたところ、うまくいきました。

自身のコードでも再度色々試した見たところ、どうやら、新規にexcelシートを作って
そこにspreadSheetSetCellFormulaで数式を書く場合はうまく行くのですが、
事前に数式の入ったexcelファイルをspreadsheetreadで読み込んで
そこにSpreadsheetSetCellVauleで書き込む場合はうまくいかないようです。

excel側の問題かも知れないのでもう少し自分でも調べてみます。

Link | Top | Bottom

AXL


長老


入会日: 02/02/08

投稿数: 246

RE: SpreadsheetSetCellValueにて出力したセルの値を参照した数式が機能しない
08/25/14 11:36 PM

>> 事前に数式の入ったexcelファイルをspreadsheetreadで読み込んで
そこにSpreadsheetSetCellVauleで書き込む場合はうまくいかないようです。


とのことなので、コードを少し変えてみたのでもう一度確認してみてください。

手順は、まずウェブルート下に新しくフォルダを作って、その中にダウンロードしたファイルを置いてブラウザーで開き、Reload リンクを何回かクリックして表示される結果(生成された XLS ファイルを読み出したもの)に問題がないか調べてみてください。

何も問題なければ、実際に XLS ファイルを開き、セルをクリックして不具合がないか調べてみてください。


testXLS.cfm
* Last updated by: AXL on 8/28/2014 @ 1:40 AM *

Link | Top | Bottom

akito


新米


入会日: 08/22/14

投稿数: 5

RE: SpreadsheetSetCellValueにて出力したセルの値を参照した数式が機能しない
08/27/14 11:25 AM

返信ありがとうございます。
また、応答遅れまして申し訳ございません。

アップ頂いたtestXLS.cfmをダウンロードしてみたのですが、文字が化けているようです。
いくつか文字コードを変換して試してみたのですがダメでした。
大変お手数なのですが、こちら確認お願いできますでしょうか?

Link | Top | Bottom

AXL


長老


入会日: 02/02/08

投稿数: 246

RE: SpreadsheetSetCellValueにて出力したセルの値を参照した数式が機能しない
08/27/14 1:44 PM

コードが前回より少し長くなったので、そちらに注意がいかないように(コード自体は重要ではないので)、予めコンパイルさせてもらいました。

なのでテキストエディターなどで開くと文字化けしているように見えますが、ブラウザーで開けば問題なくテストできるはずですよ。

Link | Top | Bottom

akito


新米


入会日: 08/22/14

投稿数: 5

RE: SpreadsheetSetCellValueにて出力したセルの値を参照した数式が機能しない
08/27/14 2:48 PM

事前コンパイルなんて出来るんですね…。不勉強ですみません。

改めて、頂いたcfmをそのままウェブルート配下のフォルダにおいてブラウザで開いて
みたのですが、真っ白な画面になってしましました。
エラーが出ているわけでもなく、ブラウザからソースを見てみても空のようです。

こちらの環境はCF9なのですが、この辺りが問題なのでしょうか…。

Link | Top | Bottom

AXL


長老


入会日: 02/02/08

投稿数: 246

RE: SpreadsheetSetCellValueにて出力したセルの値を参照した数式が機能しない
08/28/14 1:39 AM

パッチを全くあててない CF9 (64-bit) と明記がなかったので取り敢えず Excel 2013 SP1 (64-bit) でテストしてみましたが、別に問題ありませんでした。

CF9 で確認済みのテストファイルをアップロードしておいたので、再度ダウンロードし確認してみてください。

testXLS.cfm
SHA1: 7CA4BDADD901994F646761D42ED32533B92852F8

https://drive.google.com/
file/d/0B-ncBa9F8tgoMnVjWGlvUkk2NGs/edit?usp=sharing


テスト内容は前回同様、以下2つの問題の確認です。

1.SpreadsheetSetCellValueにて出力したセルの値を参照している数式が、ファイルを開いた時には機能せず、その数式のセルをダブルクリックしないと動かないと言う現象が発生しています。

2.事前に数式の入ったexcelファイルをspreadsheetreadで読み込んで
そこにSpreadsheetSetCellVauleで書き込む場合はうまくいかないようです。

Link | Top | Bottom

akito


新米


入会日: 08/22/14

投稿数: 5

RE: SpreadsheetSetCellValueにて出力したセルの値を参照した数式が機能しない
08/28/14 12:28 PM

ご丁寧な対応、誠にありがとうございます。

頂きましたファイルにて試した所、ブラウザでの確認でOK。
出来たexcelファイルを落として開いてみてもOKでした。

試しにそのexcelファイルを対象として、以前私が書いたコードで
試してみた所、こちらも正常に動作しました。
ただ、そのexcelファイルを少し編集してから再度試すと、また動かなくなるので
やはりexcel側の問題なような気がします。
一応、こちらのexcelのバージョンは2003と2010の両方で試して、同様の
現象が発生しておりますが、もう少しこちらで色々実験してみます。

Link | Top | Bottom

AXL


長老


入会日: 02/02/08

投稿数: 246

RE: SpreadsheetSetCellValueにて出力したセルの値を参照した数式が機能しない
08/28/14 1:15 PM

>> そのexcelファイルを少し編集してから再度試すと、また動かなくなるので...

編集した内容で詰めていけば、問題解決の糸口になるのでは。

Excel に問題がありそうならリペアなり再インストール、あるいは前にも言ったように他のプログラムで XLS ファイルを開いてみれば、その答えはすぐに出ると思うんですけどね。

Link | Top | Bottom

Next Page

1

Previous Page

新規投稿

ログイン して返信して下さい。