当前位置:编程学习 > C#/ASP.NET >>

报表ActiveXViewer导出Excel,有些数据字符被截断,丢失。

相关代码如下,
protected void ExportReport(string fileFormat)
        {
            DataDynamics.ActiveReports.Document.Document objDocument = null;

            string fileName = "";
            string filePath = "";
            string contentType = "";
            string tempName = Request.QueryString["ProductID"].ToString()  ;

            if (Request["PrintType"].ToLower() == "all")
            {
                string orderID = Request.QueryString["objectID"];
                SalesOrderInfo objOrder = (new SalesOrderFacade()).GetSalesOrderInfo(orderID);
                tempName = objOrder.CustomerPOID;
            }

            //fileName = System.Guid.NewGuid().ToString() + ".xls";
            if (fileFormat.ToLower() == "pdf")
            {
                objDocument = WebViewer1.Report.Document;
                pdfExporter = new DataDynamics.ActiveReports.Export.Pdf.PdfExport();
                fileName = tempName + ".pdf";
                contentType = ReportConst.ReportFileType_PDF;
               filePath = SyncFlo.EPM.EPMSystem.Configuration.FileDownloadRootDir + "\\" + fileName;
                //filePath = fileName;
                pdfExporter.Export(objDocument, filePath);
            }
            else
            {
                objDocument = LoadDataToExport();
                xlsExporter = new DataDynamics.ActiveReports.Export.Xls.XlsExport();
                fileName = tempName + ".xls";
                contentType = ReportConst.ReportFileType_Excel;
                filePath = SyncFlo.EPM.EPMSystem.Configuration.FileDownloadRootDir + "\\" + fileName;
                //filePath = fileName;
                xlsExporter.AutoRowHeight = true;
                xlsExporter.UseCellMerging = true;
                xlsExporter.RemoveVerticalSpace = true;
                xlsExporter.FileFormat = DataDynamics.ActiveReports.Export.Xls.FileFormat.Xls97Plus;
                xlsExporter.Export(objDocument, filePath);
            }

            if (fileName != "")
            {
                string VirtualPath = fileName;
                Page.Response.Clear();
                Page.Response.AddHeader("Content-Type", contentType);
                Page.Response.AddHeader("Content-Disposition", "attachment;filename=" + Server.UrlEncode(VirtualPath));
                Page.Response.WriteFile(filePath);
                Page.Response.End();

                if (System.IO.File.Exists(filePath))
                {
                    System.IO.File.Delete(filePath);
                }
            }
        }

              
                
                    报表
                    数据
                    excel
                    pdf
                    string
                
--------------------编程问答--------------------

            比如我报表里面某一列的数据为jack001A   23,  导出为Excel后数据就变成了01A    23,前面的字符被截断了。
        
--------------------编程问答--------------------

            求关注。。。。。
        
--------------------编程问答--------------------

            导出pdf文件又没有出现这种问题,只有导出Excel才出现字符丢失。
        
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,