Hi Isomorphic,
please take a look at this test case (v12.0p_2019-10-06/PowerEdition Deployment (built 2019-10-06)).
When I export the data, I get an error
Exported file is broken:

Bug or not?
Best regards
Pavo
please take a look at this test case (v12.0p_2019-10-06/PowerEdition Deployment (built 2019-10-06)).
Code:
package com.smartgwt.sample.client;
import com.google.gwt.core.client.EntryPoint;
import com.smartgwt.client.Version;
import com.smartgwt.client.core.KeyIdentifier;
import com.smartgwt.client.data.DSRequest;
import com.smartgwt.client.types.ExportFormat;
import com.smartgwt.client.util.Page;
import com.smartgwt.client.util.PageKeyHandler;
import com.smartgwt.client.util.SC;
import com.smartgwt.client.widgets.Button;
import com.smartgwt.client.widgets.IButton;
import com.smartgwt.client.widgets.Window;
import com.smartgwt.client.widgets.events.ClickEvent;
import com.smartgwt.client.widgets.events.ClickHandler;
import com.smartgwt.client.widgets.grid.HeaderSpan;
import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.layout.VLayout;
public class BuiltInDS extends VLayout implements EntryPoint {
private IButton recreateBtn;
public void onModuleLoad() {
KeyIdentifier debugKey = new KeyIdentifier();
debugKey.setCtrlKey(true);
debugKey.setKeyName("D");
Page.registerKey(debugKey, new PageKeyHandler() {
public void execute(String keyName) {
SC.showConsole();
}
});
setWidth100();
setHeight100();
recreateBtn = new IButton("Recreate");
recreateBtn.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
new MyWindow().show();
}
});
addMember(recreateBtn);
new MyWindow().show();
draw();
}
private class MyWindow extends Window {
public MyWindow() {
setWidth(400);
setHeight(300);
setMembersMargin(0);
setModalMaskOpacity(70);
setTitle(" (" + Version.getVersion() + "/" + Version.getSCVersionNumber() + ")");
setShowMinimizeButton(false);
setIsModal(true);
setShowModalMask(true);
centerInPage();
final ListGrid exportGrid = new ListGrid();
exportGrid.setDataSource("animals");
ListGridField commonNameLGF = new ListGridField("commonName");
ListGridField scientificNameLGF = new ListGridField("scientificName");
ListGridField lifeSpanLGF = new ListGridField("lifeSpan");
ListGridField statusLGF = new ListGridField("status");
HeaderSpan headerSpan = new HeaderSpan("HeaderSpan", new String[] { "scientificName", "status" });
exportGrid.setHeaderSpans(headerSpan);
exportGrid.setFields(commonNameLGF, scientificNameLGF, lifeSpanLGF, statusLGF);
exportGrid.fetchData();
Button exportButton = new Button("Export_data");
exportButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
final DSRequest exportRequest = new DSRequest() {
{
setExportAs(ExportFormat.OOXML);
}
};
exportGrid.exportData(exportRequest);
}
});
addMember(exportGrid);
addMember(exportButton);
}
}
}
Code:
=== 2019-10-07 16:47:24,079 [8-32] DEBUG ExcelDataExport - Export streaming mode: true
java.lang.IllegalStateException: Cannot add merged region B1:B2 to sheet because it overlaps with an existing merged region (B1:C1).
at org.apache.poi.xssf.usermodel.XSSFSheet.validateMergedRegions(XSSFSheet.java:480)
at org.apache.poi.xssf.usermodel.XSSFSheet.addMergedRegion(XSSFSheet.java:413)
at org.apache.poi.xssf.usermodel.XSSFSheet.addMergedRegion(XSSFSheet.java:367)
at org.apache.poi.xssf.streaming.SXSSFSheet.addMergedRegion(SXSSFSheet.java:394)
at com.isomorphic.rpc.ExcelDataExport.outputHeaderSpans(ExcelDataExport.java:1417)
at com.isomorphic.rpc.ExcelDataExport.outputHeaders(ExcelDataExport.java:1082)
at com.isomorphic.rpc.ExcelDataExport.getExportObject(ExcelDataExport.java:483)
at com.isomorphic.rpc.DataExport.exportResultSet(DataExport.java:646)
at com.isomorphic.rpc.DataExport.exportResultSet(DataExport.java:452)
at com.isomorphic.rpc.RPCManager.completeResponse(RPCManager.java:1290)
at com.isomorphic.rpc.RPCManager.send(RPCManager.java:723)
at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:183)
at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:148)
at com.isomorphic.servlet.IDACall._processRequest(IDACall.java:119)
at com.isomorphic.servlet.IDACall.doPost(IDACall.java:79)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:176)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
at com.isomorphic.servlet.CompressionFilter._doFilter(CompressionFilter.java:260)
at com.isomorphic.servlet.BaseFilter.doFilter(BaseFilter.java:93)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:68)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:370)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
at java.lang.Thread.run(Unknown Source)
Bug or not?
Best regards
Pavo
Comment