AR9导出Excel问题
本帖最后由 Lenka.Guo 于 2016-8-22 15:33 编辑预览导出Excel后,表格乱七八槽,不知道什么原因。下面是导出代码
protected void btnExcel_Click(object sender, EventArgs e)
{
GenerateReport();
System.IO.MemoryStream ms = new System.IO.MemoryStream();
// 导出Excel文件设置
GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtensionSettings excelSetting = new GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtensionSettings();
excelSetting.FileFormat = GrapeCity.ActiveReports.Export.Excel.Page.FileFormat.Xls;
excelSetting.OpenXmlStandard = GrapeCity.ActiveReports.Export.Excel.Page.OpenXmlStandard.Transitional;
excelSetting.Pagination = true;
excelSetting.MultiSheet = false;
GrapeCity.ActiveReports.Extensibility.Rendering.ISettings setting = excelSetting;
//设置渲染方式
GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtension excelRenderingExtension = new GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtension();
//GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider outputProvider = new GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputDirectory, System.IO.Path.GetFileNameWithoutExtension(outputDirectory.Name));
GrapeCity.ActiveReports.Rendering.IO.MemoryStreamProvider outputProvider = new GrapeCity.ActiveReports.Rendering.IO.MemoryStreamProvider();
report.Document.Render(excelRenderingExtension, outputProvider, excelSetting.GetSettings());
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("content-disposition", "inline;filename=MyExport.xls");
outputProvider.GetPrimaryStream().OpenStream().CopyTo(ms);
Response.BinaryWrite(ms.ToArray());
Response.End();
}
这可能是报表设计的问题,需要您上传报表模板,可以吗。 本帖最后由 grape_puppet 于 2016-8-22 11:25 编辑
Lenka.Guo 发表于 2016-8-19 17:51
这可能是报表设计的问题,需要您上传报表模板,可以吗。
麻烦看一下。 您好,导出Excel格式混乱,主要是因为以下两点导致的:1. 容器控件的嵌套在表格中
2. 表格右侧的TextBox控件的使用
所以在导出时,无法准确获取到单元格的位置,导致格式错乱。
所以建议将容器控件内部的数据,直接放在表头行或表尾行,通过调整BorderSolid属性以及Vertical属性来调整文本的位置和边线。
右侧的文本框,是否可以放到列中,调节Border Style属性.
否则导出Excel因为无法单元格合并等,导致格式有点混乱
页:
[1]