1

Document.getFileAsync を使用する Excel 365 アドインがあります (これは、ユーザーがスプレッドシートを選択する必要なく、完全なスプレッドシートにアクセスする唯一の方法であるためです)。

この API はデスクトップ Excel では使用できません (2013 も 2016 もありません)。

アプリがデスクトップ Excel で実行されていないという、Office Store 認定に関する MS の苦情をどのように処理すればよいですか?

含めるだけで十分ですか

<Requirements>
 <Sets>
  <Set Name="File" />
 </Sets>
 <Methods>
  <Method Name="Document.getFileAsync" />
 </Methods>
</Requirements>

マニフェストで?

テストでは、Excel がこのオプションを無視していることがわかります (少なくともマニフェストがローカル フォルダーから来る場合)。

それとも、デスクトップ Excel の getDataAsync を介してエクスポートできるように、ユーザーが完全なスプレッドシートを選択する必要がある 2 番目のコード パス (別の UI を使用) を実装することになっているのでしょうか?

Excel デスクトップまたは Excel Online に埋め込まれているかどうかを確認するにはどうすればよいですか?

4

1 に答える 1

1

マニフェストにタイプミスがあるようです。

<Method Name="Document.getFileAsync" />

そしてそうではない

<Method Name="Doument.getFileAsync" />

いずれにせよ、Worksheet.GetUsedRange次のサンプルのように、ワークシートのすべてのデータを含む範囲を取得できる をご覧になることをお勧めします。

var ctx = new Excel.RequestContext();
var sheetUsedRange = ctx.workbook.worksheets.getActiveWorksheet().getUsedRange();
sheetUsedRange.load('values');
ctx.sync().then(function() {
    console.log(sheetUsedRange.values);
});

さて、Excel Desktop と Excel online のどちらに埋め込まれているかを知る方法についての質問に答えるには、その件に関する Michael Zlatkovsky の回答を参照することをお勧めします。

ガブリエル・ロイヤー

MSFT Office Extensibility Team の開発者

于 2015-10-13T01:08:43.617 に答える