2017-10-10 11 views
0

Office jsでカスタムXMLパーツ機能を実装しようとしています。Office jsカスタムXML

ExcelでカスタムXMLパーツを作成しているときに、ワークブックにXMLパーツを追加しているときにGeneralException を取得しています。

私は5000行と4列を持つExcelからデータを取得しています。

私はBase64エンコードを使用してデータを符号化し、次の形式でXMLタグにデータを格納しています -

マイ符号化データを。

ブックにカスタムXMLパーツを追加するときにサイズ制限はありますか?このエラーの背後には具体的な点はありますか?

例:

Excel.run(function (ctx) { 
    var xmlObj = "<data>My encoded data.</data>"; 
    var xmlPart = ctx.workbook.customXmlParts.add(xmlObj); 
    return ctx.sync(); 
}); 
+0

使用しているコードとエンコードしているデータの例を教えてください。 –

+0

@ MarcLaFleur-MSFT - 次のコードを使用してXMLオブジェクトをブックに追加しています。 Excel.run(関数(CTX){xmlObj =ここ \t varは私のXMLオブジェクトを進み、 \tするvar xmlPart = ctx.workbook.customXmlParts.add(xmlObj); \t戻りctx.sync();} ) ; –

+0

@ MarcLaFleur-MSFT - エンコードせずにXMLオブジェクトを追加しようとしましたが、同じしきい値で失敗しています。 –

答えて

0

などいかなるサイズの制限はありません。次のことをお勧めします。

  1. 最終的なXMLが有効であることを確認してください(オンライン検証ツールを使用して、エラーを出す特殊文字などがないことを確認できます)。理想的には、APIがXMLが無効であるかどうかを伝える必要がありますが、二重チェックの価値があります。

  2. これはエンコードしている場合にのみ起こりますか?テストのために通常の文字列連結を使用してみてください。 上記のテストで失敗した箇所をお知らせください。

+0

カスタムXML機能をテストして、大規模なデータセットでどのように動作するかを確認しようとしています。通常の文字列連結を試みましたが、XMLオブジェクトには特殊文字が含まれているため無効です。 エンコードしようとすると、結果のXMLオブジェクトは有効ですが、customXMLパーツに追加する際にGeneralExceptionエラーがスローされます。 –

+0

同じしきい値、1000行と4列では失敗しています。これはExcelで使用される内部メモリと関係がありますか? –

+0

@ArupamSengupta、それは小さなXML文書では動作することを確認できますか?大規模なものでは機能しませんか?あなたが設定しようとしているXML文書の全長は何文字ですか? –

0

この問題を私たちの注意を喚起してくれてありがとう!私はexcel.exeに対して空白のブックに振る舞いを再現することができました。近いうちに修正しようとするバグが原因です。ご不便おかけしてすみません。 Excelのアップデートをお楽しみください。

+0

修正がチェックインされました。16.0.8714以降のビルドにはそれが必要です。アップデートを入手したら、もう一度お試しください。ご迷惑をおかけして申し訳ありません。問題を提起いただきありがとうございます。 –

関連する問題