私は、Excelドキュメントを表すNAVにBLOBオブジェクトを持っています。このドキュメントをJavaScript Control AddIn(WebおよびWindowsクライアントで実行)に表示することをお勧めします。しかし、私はこの問題をどのように処理するのか分かりません。 AddInの後半で、Blobをバイナリ文字列として必要とします。BlobをNavisionからJavascriptに追加する
これまでのところ私は2つのことを試みました。
まず、私はこの方法
[ApplicationVisible]
void SetExcelDocument(ExcelDocument ExcelDocument);
とExcelDocument
とのインタフェースを構築
を試す - オブジェクトは、NAVにしたがって、この
[Serializable]
public class ExcelDocument
{
//Constructor
public ExcelDocument()
{
CurrentExcelDocument = null;
}
//store Blob
public Stream CurrentExcelDocument { get; set; }
}
のように見える、私は中にブロブを変換します.Net MemoryStream変数(このようになります)
アドインの準備ができたときMemStream DotNet System.IO.System.IO.MemoryStream.'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
この
TechnicalSpreadsheet.CALCFIELDS(Document); //Get Blob (Document is table column name)
TechnicalSpreadsheet.Document.CREATEINSTREAM(Lstr_BlobInstream);
MemStream := MemStream.MemoryStream();
COPYSTREAM(MemStream,Lstr_BlobInstream);
ExcelDocument := ExcelDocument.ExcelDocument; //Initialize Object
ExcelDocument.CurrentExcelDocument := MemStream; //set MemoryStream
CurrPage.spreadsheet.SetExcelDocument(ExcelDocument); //Call function in AddIn
コードのようなコードが実行されます。変数ナビゲーションExcelDocument
は、プロパティ「RunOnClientが」yesに設定されているときにそこでここでの問題は、私は、NAVでExcelDocument
のインスタンスを設定することができ、この
ExcelDocument DotNet <Reference to Object here>, Version=8.0.0.0, Culture=neutral, PublicKeyToken=d02dbb9bbac93844'
として定義されます。しかし、これはWebClient(Source)では機能しません。しかし、プロパティをyesに設定しても、AddInにデータを送信することはありません。
第二には、2回目の試行のために
を試してみて、私はデータ型を変更しました。だから私はストリームの代わりにbyte[]
を使用しました。だから、ICHは、この
[ApplicationVisible]
void SetExcelDocument(byte[] ExcelDocument);
へのインタフェースを変更し、ちょうどこの
CurrPage.spreadsheet.SetExcelDocument(MemStream.ToArray); //Call function in AddIn
にNAVでアドイン関数呼び出しを変更してExcelDocument
変数を削除しました。
これは機能しますが、データはバイナリデータのようには見えません。私はWebコンソールに表示するときに読めないものがあると思いますが、代わりに可読な文字と数字が表示されます。そして私はこれをバイナリ文字列に変換する方法がわかりません。
Vjekoのinputがありますが、これは私にとってはうまくいきません。
アドインでこのシートをどうしたらいいですか?私はあなたがそれを食べることを意味していますか? –
yeh基本バイナリ(バイト)文字列は、文字と0から256の文字であるため、nubmersです。 –
私はAddInに表示したいだけです。おそらくいくつかの変更を行うかもしれませんが、まだ必要ではないので、私は同僚と話しませんでした。それは.Net AddInはすべて正常に動作しますが、.Net AddInはWebClientでは動作しないので、JavaScript AddInを行うことにしました。 – Torben