日期:2014-05-17  浏览次数:20549 次

easyui datagrid数据导出,数据流返回问题
本帖最后由 matrixkey 于 2013-02-06 16:17:27 编辑
function TestExport() {
        var datagrid_rows = $('#dg').datagrid("getRows");
        if (datagrid_rows.lenth == 0) {
            $.messager.alert('提示', "查询结果区域没有数据可导出", 'info');
        } else {
            var columns = $('#dg').datagrid("options").columns;
            $.post("/Export/ExportData", { data: JSON.stringify(datagrid_rows), columns: JSON.stringify(columns) });
        }
    }


控制器中,对参数data和columns做了处理,最后组合成一个datatable。到这都没有问题。
但是无法导出到excel。
通过IE调试发现,响应的数据内容如图:





同样的excel内容拼接代码,在另外一个页面上的导出功能却是有效的。区别是另外个页面上,直接用a的href指定了控制器的动作而已。

贴出响应正文全文。

<?xml version="1.0"?><?mso-application progid="Excel.Sheet"?><Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40"><DocumentProperties xmlns="urn:schemas-microsoft-com:office:office"><Created>2006-09-16T00:00:00Z</Created><LastSaved>2011-11-14T13:14:18Z</LastSaved><Version>14.00</Version></DocumentProperties><OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office"><AllowPNG /><RemovePersonalInformation /></OfficeDocumentSettings><ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel"><WindowHeight>8010</WindowHeight><WindowWidth>14805</WindowWidth><WindowTopX>240</WindowTopX><WindowTopY>105</WindowTopY><ProtectStructure>False</ProtectStructure><ProtectWindows>False</ProtectWindows></ExcelWorkbook><Styles><Style ss:ID="Default" ss:Name="Normal"><Alignment ss:Vertical="Bottom" /><Borders /><Font ss:FontName="宋体" x:CharSet="134" ss:Size="11" ss:Color="#000000" /><Interior /><NumberFormat /><Protection /></Style></Styles><Worksheet ss:Name="Sheet1"><WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel"><PageSetup><Header x:Margin="0.3" /><Footer x:Margin="0.3" /><PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75" /></PageSetup><Unsynced /><Print><ValidPrinterInfo /><PaperSizeIndex>9</PaperSizeIndex><HorizontalResolution>600</HorizontalResolution><VerticalResolution>600</VerticalResolution></Print><Selected /><ProtectObjects>False</ProtectObjects><ProtectScenarios>False</ProtectScenarios></WorksheetOptions><Table ss:ExpandedRowCount="16" ss:ExpandedColumnCount="18" x:FullColumns="1" 
x:FullRows="1"