ユーザーがボタンをクリックすると、Excelファイルを生成しようとしていて、ブラウザにダウンロードしようとしています。document.locationはファイルを生成しません
var vFullExportContent = getExcelXmlNew(includeHidden, fullPageStore);
これはXMLでExcelファイルデータを生成しました。
と私はBase64を使用してそれをエンコードし、以下のコード行を使用してdocument.locationを使用してファイルをダウンロードしたかったのです。そして、これは私のエクセルレコードが1000行以上あるときにファイルを生成しません。 1000行以下であればOKです。
document.location='data:application/vnd.ms-excel;base64,' + Base64.encode(vFullExportContent);
また、エンコードの問題のために私のすべての(3259行)データを検証しましたが、何も観察されません。つまり、アプリケーションでフィルタを適用して、1000未満の一意の行を取得し、3回すべてのレポートのダウンロードを取得します。
大変助かります。
あなたのアプローチはすべてのデータを含む 'data:' 'URI'を生成します。したがって、この「URI」はデータが巨大であるため膨大なものになるので、[URLの最大長]を打つことができます(http://stackoverflow.com/questions/417142/what-is-the -max-length-of-a-url-in-different-browser)。だからあなたはどのブラウザを使っていて、Firefoxブラウザで試してみましたか?一般的に、このアプローチは避け、実際にダウンロードできる「Excel」ファイルを実際に作成できるライブラリを使用する必要があります。 –