grape_puppet 发表于 2016-8-19 17:20:54

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();
    }


Lenka.Guo 发表于 2016-8-19 17:51:36

这可能是报表设计的问题,需要您上传报表模板,可以吗。

grape_puppet 发表于 2016-8-22 11:16:23

本帖最后由 grape_puppet 于 2016-8-22 11:25 编辑

Lenka.Guo 发表于 2016-8-19 17:51
这可能是报表设计的问题,需要您上传报表模板,可以吗。
麻烦看一下。

Lenka.Guo 发表于 2016-8-22 15:32:59

您好,导出Excel格式混乱,主要是因为以下两点导致的:1. 容器控件的嵌套在表格中
2. 表格右侧的TextBox控件的使用
所以在导出时,无法准确获取到单元格的位置,导致格式错乱。


所以建议将容器控件内部的数据,直接放在表头行或表尾行,通过调整BorderSolid属性以及Vertical属性来调整文本的位置和边线。


右侧的文本框,是否可以放到列中,调节Border Style属性.

否则导出Excel因为无法单元格合并等,导致格式有点混乱






页: [1]
查看完整版本: AR9导出Excel问题