能否具体点?我试过只能把一个grid导出不能全部导出,createWorksheet : function(c) { var y = []; var r = []; var g = this.getColumnModel(); var e = 0; var b = ""; var z = ""; var f = 0; var q = g.getColumnCount(); var C = "sheet1"; for ( var B = 0; B < q; B++) { if ((g.getDataIndex(B) != "") && (c || !g.isHidden(B))) { var m = g.getColumnWidth(B); e += m; if (g.getColumnHeader(B) === "" && g.getColumnHeader(B) === '<div class="x-grid3-hd-checker"> </div>') { y.push("None"); r.push(""); ++f } else { b += '<ss:Column ss:AutoFitWidth="1" ss:Width="' + m + '" />'; z += '<ss:Cell ss:StyleID="headercell"><ss:Data ss:Type="String">' + g.getColumnHeader(B) + '</ss:Data><ss:NamedCell ss:Name="Print_Titles" /></ss:Cell>'; var a = this.getStore().recordType.prototype.fields .get(g.getDataIndex(B)); switch (a.type) { case "int": y.push("Number"); r.push("int"); break; case "float": y.push("Number"); r.push("float"); break; case "bool": case "boolean": y.push("String"); r.push(""); break; case "date": y.push("DateTime"); r.push("date"); break; default: y.push("String"); r.push(""); break } } } } var D = y.length - f; var h = { height : 9000, width : Math.floor(e * 30) + 50 }; var o = '<ss:Worksheet ss:Name="' + C + '"><ss:Names><ss:NamedRange ss:Name="Print_Titles" ss:RefersTo="=\'' + this.title + '\'!R1:R2" /></ss:Names><ss:Table x:FullRows="1" x:FullColumns="1" ss:ExpandedColumnCount="' + (D + 2) + '" ss:ExpandedRowCount="' + (this.getStore().getCount() + 2) + '">' + b + '<ss:Row ss:Height="38"><ss:Cell ss:StyleID="title" ss:MergeAcross="' + (D - 1) + '"><ss:Data xmlns:html="http://www.w3.org/TR/REC-html40" ss:Type="String"><html:B>' + this.title + '</html:B></ss:Data><ss:NamedCell ss:Name="Print_Titles" /></ss:Cell></ss:Row><ss:Row ss:AutoFitHeight="1">' + z + "</ss:Row>"; for ( var B = 0, d = this.view.getRows(), u = d.length; B < u; B++) { o += "<ss:Row>"; var s = (B & 1) ? "odd" : "even"; var x = 0; for ( var A = 0; A < q; A++) { if ((g.getDataIndex(A) != "") && (c || !g.isHidden(A))) { var n = ""; if (this.exportView == true) { if (this.view.getCell(B, A).childNodes[0].innerHTML .indexOf("checkbox") < 0) { n = this.view.getCell(B, A).childNodes[0].innerHTML } else { if (this.getStore().data.items[B].data[g .getDataIndex(A)] == "0") { n = false } else { n = true } } } else { n = this.getStore().data.items[B].data[g .getDataIndex(A)] } if (y[x] !== "None") { o += '<ss:Cell ss:StyleID="' + s + r[x] + '"><ss:Data ss:Type="' + y[x] + '">'; if (y[x] == "DateTime") { o += n.format("Y-m-d") } else { o += n } o += "</ss:Data></ss:Cell>" } x++ } } o += "</ss:Row>" } h.xml = o + '</ss:Table><x:WorksheetOptions><x:PageSetup><x:Layout x:CenterHorizontal="1" x:Orientation="Landscape" /><x:Footer x:Data="Page &P of &N" x:Margin="0.5" /><x:PageMargins x:Top="0.5" x:Right="0.5" x:Left="0.5" x:Bottom="0.8" /></x:PageSetup><x:FitToPage /><x:Print><x:PrintErrors>Blank</x:PrintErrors><x:FitWidth>1</x:FitWidth><x:FitHeight>32767</x:FitHeight><x:ValidPrinterInfo /><x:VerticalResolution>600</x:VerticalResolution></x:Print><x:Selected /><x:DoNotDisplayGridlines /><x:ProtectObjects>False</x:ProtectObjects><x:ProtectScenarios>False</x:ProtectScenarios></x:WorksheetOptions></ss:Worksheet>'; return h }
var y = [];
var r = [];
var g = this.getColumnModel();
var e = 0;
var b = "";
var z = "";
var f = 0;
var q = g.getColumnCount();
var C = "sheet1";
for ( var B = 0; B < q; B++) {
if ((g.getDataIndex(B) != "")
&& (c || !g.isHidden(B))) {
var m = g.getColumnWidth(B);
e += m;
if (g.getColumnHeader(B) === ""
&& g.getColumnHeader(B) === '<div class="x-grid3-hd-checker"> </div>') {
y.push("None");
r.push("");
++f
} else {
b += '<ss:Column ss:AutoFitWidth="1" ss:Width="'
+ m + '" />';
z += '<ss:Cell ss:StyleID="headercell"><ss:Data ss:Type="String">'
+ g.getColumnHeader(B)
+ '</ss:Data><ss:NamedCell ss:Name="Print_Titles" /></ss:Cell>';
var a = this.getStore().recordType.prototype.fields
.get(g.getDataIndex(B));
switch (a.type) {
case "int":
y.push("Number");
r.push("int");
break;
case "float":
y.push("Number");
r.push("float");
break;
case "bool":
case "boolean":
y.push("String");
r.push("");
break;
case "date":
y.push("DateTime");
r.push("date");
break;
default:
y.push("String");
r.push("");
break
}
}
}
}
var D = y.length - f;
var h = {
height : 9000,
width : Math.floor(e * 30) + 50
};
var o = '<ss:Worksheet ss:Name="'
+ C
+ '"><ss:Names><ss:NamedRange ss:Name="Print_Titles" ss:RefersTo="=\''
+ this.title
+ '\'!R1:R2" /></ss:Names><ss:Table x:FullRows="1" x:FullColumns="1" ss:ExpandedColumnCount="'
+ (D + 2)
+ '" ss:ExpandedRowCount="'
+ (this.getStore().getCount() + 2)
+ '">'
+ b
+ '<ss:Row ss:Height="38"><ss:Cell ss:StyleID="title" ss:MergeAcross="'
+ (D - 1)
+ '"><ss:Data xmlns:html="http://www.w3.org/TR/REC-html40" ss:Type="String"><html:B>'
+ this.title
+ '</html:B></ss:Data><ss:NamedCell ss:Name="Print_Titles" /></ss:Cell></ss:Row><ss:Row ss:AutoFitHeight="1">'
+ z + "</ss:Row>";
for ( var B = 0, d = this.view.getRows(), u = d.length; B < u; B++) {
o += "<ss:Row>";
var s = (B & 1) ? "odd" : "even";
var x = 0;
for ( var A = 0; A < q; A++) {
if ((g.getDataIndex(A) != "")
&& (c || !g.isHidden(A))) {
var n = "";
if (this.exportView == true) {
if (this.view.getCell(B, A).childNodes[0].innerHTML
.indexOf("checkbox") < 0) {
n = this.view.getCell(B, A).childNodes[0].innerHTML
} else {
if (this.getStore().data.items[B].data[g
.getDataIndex(A)] == "0") {
n = false
} else {
n = true
}
}
} else {
n = this.getStore().data.items[B].data[g
.getDataIndex(A)]
}
if (y[x] !== "None") {
o += '<ss:Cell ss:StyleID="' + s + r[x]
+ '"><ss:Data ss:Type="' + y[x]
+ '">';
if (y[x] == "DateTime") {
o += n.format("Y-m-d")
} else {
o += n
}
o += "</ss:Data></ss:Cell>"
}
x++
}
}
o += "</ss:Row>"
}
h.xml = o
+ '</ss:Table><x:WorksheetOptions><x:PageSetup><x:Layout x:CenterHorizontal="1" x:Orientation="Landscape" /><x:Footer x:Data="Page &P of &N" x:Margin="0.5" /><x:PageMargins x:Top="0.5" x:Right="0.5" x:Left="0.5" x:Bottom="0.8" /></x:PageSetup><x:FitToPage /><x:Print><x:PrintErrors>Blank</x:PrintErrors><x:FitWidth>1</x:FitWidth><x:FitHeight>32767</x:FitHeight><x:ValidPrinterInfo /><x:VerticalResolution>600</x:VerticalResolution></x:Print><x:Selected /><x:DoNotDisplayGridlines /><x:ProtectObjects>False</x:ProtectObjects><x:ProtectScenarios>False</x:ProtectScenarios></x:WorksheetOptions></ss:Worksheet>';
return h
}