「Aspose.Cells」のSaveメソッドでエラーが出て変換できない


#1

EXCELからPDFへの変換を行う際に「Aspose.Cells」を使用しているのですが、あるサーバー1台だけでエラーが出てしまい変換ができません。
そのほか100台近くのサーバーでは問題なく変換できています。

開発言語は「VB.NET (Visual Studio 2017)」です。
サーバーは「Windows Server 2012 R2」です。

そのエラーですが「Aspose.Cells.CellsException」の例外が発生します。
そこで、このエラーのプロパティをログに出力したところ、次のような結果になりました。

次のように Catch でエラーを捕まえています。

Catch ex As Aspose.Cells.CellsException

プロパティの内容は次の通りです。

ex.Message:スレッドを中止しようとしました。
ex.StackTrace:場所 Aspose.Cells.Workbook.Save(String fileName, SaveOptions saveOptions)
ex.Code.ToString():FileFormat
ex.HelpLink:(空欄)
ex.HResult.ToString():-2146232832
ex.Source:Aspose.Cells
ex.TargetSite.ToString():Void Save(System.String, Aspose.Cells.SaveOptions)

1台だけこの現象が発生する理由がどうしてもわかりません。
ご教授頂ければ幸いに存じます。


#2

@TccIno,

テストのために、サンプルファイルとコードスニペットを共有してください。 問題を再現し、分析後にフィードバックを提供します。

当社の最新バージョン/修正をお試しください:Aspose.Cells for .NET v19.3.6(添付)

Aspose.Cells19.3.6 For .Net2_AuthenticodeSigned.Zip (4.9 MB)
Aspose.Cells19.3.6 For .Net4.0.Zip (4.9 MB)


#3

ご返信ありがとうございます。
コードについては、別途ご連絡します。

まず、戴いた最新バージョンで試してみました。

(1) Visual Syudio 上でプログラムを実行させてみた (クライアントOSは Windows 7 Professional)

正常にEXCELからPDFに変換されました。ただし、上部に赤字で「Evaluation Only. Created with Aspose.Cells for .NET. Copyright 2003 - 2019 Aspose Pty Ltd.」と表示されます。これは評価版だからでしょうか?

(2) サーバー上にデプロイしたプログラムで実行してみた (Windows Server 2012 R2)

▼ ここから
AsposeのPDFへの変換処理時に次のエラーが表示されました。

System.IO.FileLoadException: ファイルまたはアセンブリ ‘Aspose.Cells, Version=8.5.0.0, Culture=neutral, PublicKeyToken=716fcc553a201e56’、またはその依存関係の 1 つが読み込めませんでした。見つかったアセンブリのマニフェスト定義はアセンブリ参照に一致しません。 (HRESULT からの例外:0x80131040)
ファイル名 ‘Aspose.Cells, Version=8.5.0.0, Culture=neutral, PublicKeyToken=716fcc553a201e56’ です。‘Aspose.Cells, Version=8.5.0.0, Culture=neutral, PublicKeyToken=716fcc553a201e56’
場所 Elearning.ucP_UPROADVIEW.F_UploadFlie(CourseInfoClass courseInfo, Clsdbhelpe db)
場所 Elearning.ucP_UPROADVIEW.ContentsUpload(CourseInfoClass clsCourse, Clsdbhelpe db)
場所 Elearning.ucP_UPROADVIEW.BUT_R_INSERT_Click(Object sender, EventArgs e)

警告: アセンブリ バインドのログ記録がオフにされています。
アセンブリ バインドのエラー ログを有効にするには、レジストリ値 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) を 1 に設定してください。
注意: アセンブリ バインドのエラー ログに関連するパフォーマンス ペナルティがあります。
この機能をオフにするには、レジストリ値 [HKLM\Software\Microsoft\Fusion!EnableLog] を削除します。
▲ ここまで

これは、バージョンの違いやライセンスの問題でしょうか?

現在弊社で使っているAspose.Cellsのバージョン「8.5.0.0」にパッチの当たった正規版を戴きたいのですが、それは可能でしょうか?


#4

該当箇所のコードは次の通りです。
Dim wb As Aspose.Cells.Workbook = New Aspose.Cells.Workbook(IO.Path.Combine(filePath, courseInfo.contensNM & FileExt))
wb.Save(IO.Path.Combine(filePath, fileNameWithoutEx + “.pdf”), Aspose.Cells.SaveFormat.Pdf)

(各変数には適切な値が入っています)


#5

@TccIno,

あなたが直面している問題は評価の制限によるものです。 ドキュメントに記載されているようにAPIをライセンスできます。
https://docs.aspose.com/display/cellsnet/Licensing#Licensing-ApplyingaLicenseinAspose.CellsComponent

Windows Server 2012 R2環境では、最新バージョンに基づいてサポートが利用できるため、最新バージョンのAspose.Cells for .NET 19.3.6にアップグレードしてください。

Aspose.Cells19.3.6 For .Net2_AuthenticodeSigned.Zip (4.9 MB)
Aspose.Cells19.3.6 For .Net4.0.Zip (4.9 MB)

ご意見をお聞かせください。


#6

最新バージョンに基づいてサポートが利用できるとのことでありがとうございます。

お送り頂いた次の2つのファイルを解凍してそれぞれを使ってみました。
・Aspose.Cells19.3.6 For .Net2_AuthenticodeSigned.Zip
・Aspose.Cells19.3.6 For .Net4.0.Zip

プログラムは次のように書き換えました。
Dim licenseCells As Aspose.Cells.License = New Aspose.Cells.License()
licenseCells.SetLicense(“Aspose.Cells.lic”)
Dim wb As Aspose.Cells.Workbook = New Aspose.Cells.Workbook(IO.Path.Combine(filePath, courseInfo.contensNM & FileExt))

次の3つは同じフォルダに配置しています。
・Aspose.Cells.dll
・Aspose.Cells.xml
・Aspose.Cells.lic

しかし、両方とも次のエラーが出ます。
▼ ここから
ファイルまたはアセンブリ ‘Aspose.Cells, Version=8.5.0.0, Culture=neutral, PublicKeyToken=716fcc553a201e56’、またはその依存関係の 1 つが読み込めませんでした。見つかったアセンブリのマニフェスト定義はアセンブリ参照に一致しません。 (HRESULT からの例外:0x80131040)
System.IO.FileLoadException: ファイルまたはアセンブリ ‘Aspose.Cells, Version=8.5.0.0, Culture=neutral, PublicKeyToken=716fcc553a201e56’、またはその依存関係の 1 つが読み込めませんでした。見つかったアセンブリのマニフェスト定義はアセンブリ参照に一致しません。 (HRESULT からの例外:0x80131040)
ファイル名 ‘Aspose.Cells, Version=8.5.0.0, Culture=neutral, PublicKeyToken=716fcc553a201e56’ です。‘Aspose.Cells, Version=8.5.0.0, Culture=neutral, PublicKeyToken=716fcc553a201e56’
場所 Elearning.ucP_UPROADVIEW.F_UploadFlie(CourseInfoClass courseInfo, Clsdbhelpe db)
場所 Elearning.ucP_UPROADVIEW.ContentsUpload(CourseInfoClass clsCourse, Clsdbhelpe db)
場所 Elearning.ucP_UPROADVIEW.BUT_R_INSERT_Click(Object sender, EventArgs e)
▲ ここまで

何が原因でしょうか?
ファイル「Aspose.Cells.lic」も新しくする必要があるのでしょうか?


#7

@TccIno,

DLLが最新ではなく8.5.0バージョン用であると期待しているため、プロジェクト構成が最新バージョンに更新されていないようです。 あなたはClean and Buildソリューションを試すことができます。 問題が解決しない場合は、調査できるようにサンプルアプリケーションを絞り込んで共有します。


#8

プロジェクト構成内の「Aspose.Cells.dll」を戴いたファイルに入れ替えたところ、無事にPDFに変換することができました。
しかし、変換後のPDFファイルの各ページの最上部に赤字で「Evaluation Only. Created with Aspose.Cells for .NET.Copyright 2003 - 2019 Aspose Pty Ltd.」と表示されてしまいます。
ということは、戴いた「Aspose.Cells.dll」は正規版ではなく評価版でしょうか?
正規版を戴くことは可能でしょうか?

なお、先ほどご連絡したプログラム中の「licenseCells.SetLicense(“Aspose.Cells.lic”)」の行で次のエラーが発生してしまいましたので、この行は消しました。
対応策はございますでしょうか?

▼ エラーの内容(ここから)
System.InvalidOperationException: The subscription included in this license allows free upgrades until 29 Jun 2016, but this version of the product was released on 15 Apr 2019. Please renew the subscription or use a previous version of the product.
▲ ここまで


#9

@TccIno,

新しいバージョンのAPIを使用するには、サブスクリプションをアップグレードする必要があります。現在のライセンスでは、サブスクリプションの有効期限( “2016年6月29日”)より前にリリースされたAspose.Cells APIのみを使用できます。

つまり、Aspose.Cellsの最新バージョンを使用するには、新しいライセンスを使用してコードに設定する必要があります。新しいライセンスを使用せずに(コードで)設定した場合、Aspose.Cellsは評価モードで動作し、常に評価ファイルを出力ファイルに取得します。

参考までに、あなたが製品のライセンスを購入するとき、あなたは次の一年中コンポーネントの新しい(そして今後の(正式なバージョン))バージョンあるいはホットフィックスと共にライセンスファイルを使用することを承認されます。さらに、サブスクリプションの有効期限が切れる前にリリースされるべき製品のバージョンまたは修正プログラムを使用してライセンスを使用し続ける場合、ライセンスは失効しません。


#10

ご返信ありがとうございます。
次の質問があります。

(1) 新しいバージョンの正規版は無償で戴くことは可能でしょうか?
やはり有償で新規購入する必要がありますでしょうか?

(2) (1)が無償で可能の場合、ライセンスファイル「Aspose.Cells.lic」を戴くことは可能でしょうか?

(3) (1)が無理の場合は、現在弊社で使っている Ver.8.5.0.0 のパッチ修正版を戴くことは可能でしょうか?

できれば(3)が可能なら是非これでお願いしたいと思っています。
現在、お客様の環境での「Aspose.Cells」でエラーが出てしまい業務に大きな支障が出ているため、早急に解決しなくてはいけません。

どうぞご協力のほど何卒よろしくお願い申し上げます。


#11

@TccIno,

新しいバージョンを使用するにはライセンスを購入する必要があります。 アップデートと修正は最新バージョンに含まれているため、パッチバージョンは作成できません。

あなたが古いバージョンで直面しているエラーはあなたがそれを購入する前にあなたがテストのために無料の評価ライセンスを試すことができる最新バージョンで働いている可能性があります。


#12

現在弊社で使っているAspose.Cellsのバージョン「8.5.0.0」ですが、これは「.NetFramework 3.5」がインストールされていないと正常動作しないのでしょうか?
実は、この不具合が発生しているサーバー (Windows Server 2012 R2) では、何度トライしても何故か「.NetFramework 3.5」のインストールに失敗してしまうので「.NetFramework 4.6.1」をインストールしています。
もしかしたら、そのせいで今回の「PDFに変換できない」という現象が発生しているのでしょうか?


#13

@TccIno,
何が古いバージョンの問題を引き起こす可能性があるのかわかりません。 最新バージョンのAPIにアップグレードし、問題が発生した場合はご意見をお寄せください。


#14

@TccIno,

また、CellsExceptionがキャッチされるので、CellsException.Codeを使ってCellsExceptionのタイプを出力してください。正確には、例外情報( “Ex。Message:スレッドを中止しようとしました”)を詳細に英語に翻訳できればいいでしょう。さらに、問題を再現するために、実行可能サンプルプロジェクトをサンプルファイルと共有します。もうすぐチェックします。


#15

ご連絡の期間が空いてしまい申し訳ありません。
弊社でも検討に検討を重ねましたが、結論として Aspose の最新版を購入する方向で進めたいと思います。
そこで、再度、最新評価版を弊社のシステムに入れて動作検証をしたいと思いますので、
大変恐れ入りますが、以前にお送り頂いた Aspose.Cells.dll ファイルの最新評価版を再度お送り頂けないでしょうか?

なお、この最新評価版は、最新正規版の動作と全く同じ仕様でしょうか?
「Evaluation Only. Created with Aspose.Cells for .NET.Copyright 2003 - 2019 Aspose Pty Ltd.」
と表示される以外の仕様制限はございますでしょうか?

以上となります。
どうぞよろしくお願い申し上げます。


#16

@TccIno,

Aspose.Cells for .NET v19.6をダウンロードしてください。ダウンロードセクションまたはNugetリポジトリからダウンロードできます。
https://downloads.aspose.com/cells/net

最新版も同じ仕様です。
あなたが問題または質問をするならば、詳細について我々に連絡するのを遠慮しなくしてください。私はすぐにあなたを助けます。


#17

ご連絡ありがとうございます。
ダウンロードはできましたので、これで再度検証をしてみます。


#18

@TccIno,
どういたしまして。