Dim xlApp As New Excel.Application()
                Dim xlBook As Excel.Workbook
                Dim xlSheet As Excel.Worksheet                Dim rowIndex, colIndex As Integer
                rowIndex = 1
                colIndex = 0                xlBook = xlApp.Workbooks().Add
                xlSheet = xlBook.Worksheets("sheet1")                Dim Table As New DataTable()
                Table = CreaTable()                '将所得到的表的列名,赋值给单元格
                Dim Col As DataColumn
                Dim Row As DataRow
                For Each Col In Table.Columns
                    colIndex = colIndex + 1
                    xlApp.Cells(1, colIndex) = Col.ColumnName
                Next                '得到的表所有行,赋值给单元格
                For Each Row In Table.Rows
                    rowIndex = rowIndex + 1
                    colIndex = 0
                    For Each Col In Table.Columns
                        colIndex = colIndex + 1
                        xlApp.Cells(rowIndex, colIndex) = Row(Col.ColumnName)
                    Next
                Next                With xlSheet
                    .Range(.Cells(1, 1), .Cells(1, colIndex)).Font.Name = "黑体"
                    '设标题为黑体字
                    .Range(.Cells(1, 1), .Cells(1, colIndex)).Font.Bold = True
                    '标题字体加粗
                    .Range(.Cells(1, 1), .Cells(rowIndex, colIndex)).Borders.LineStyle = 1
                    '设表格边框样式
                End With                With xlSheet.PageSetup
                    .LeftHeader = "" & Chr(10) & "&""楷体_GB2312,常规""&10公司名称:"   ' & Gsmc
                    .CenterHeader = "&""楷体_GB2312,常规""公司人员情况表&""宋体,常规""" & Chr(10) & "&""楷体_GB2312,常规""&10日 期:"
                    .RightHeader = "" & Chr(10) & "&""楷体_GB2312,常规""&10单位:"
                    .LeftFooter = "&""楷体_GB2312,常规""&10制表人:"
                    .CenterFooter = "&""楷体_GB2312,常规""&10制表日期:"
                    .RightFooter = "&""楷体_GB2312,常规""&10第&P页 共&N页"
                End With                xlApp.Visible = True

解决方案 »

  1.   

    我是想知道能不能将Crystal Report产生的报表直接倒成Excel,而且是在Web上
      

  2.   

    String fName ;
    ExportOptions crExpOpt = new ExportOptions();
    //Output Path
    fName = "D:\\testprint.pdf";
    DiskFileDestinationOptions diskFile = new DiskFileDestinationOptions();
    diskFile.DiskFileName = fName;
    //userRpt is your ReportDocument
    crExpOpt = userRpt.ExportOptions;
    crExpOpt.DestinationOptions = diskFile;
    crExpOpt.ExportDestinationType = xportDestinationType.DiskFile;
    crExpOpt.ExportFormatType = ExportFormatType.PortableDocFormat;
    userRpt.Export(); Response.ClearContent();
    Response.ClearHeaders();
    Response.ContentType = "application/pdf";
    Response.WriteFile(fName);
    Response.Flush();
    Response.Close();
    //delete the exported file from disk
    System.IO.File.Delete(fName);
      

  3.   


     to:"我是想知道能不能将Crystal Report产生的报表直接倒成Excel,而且是在Web上" 可以!
     转换时,报表格式将有损失,但系统会尽量多的保留、减少损失。
      

  4.   

    把相关的部分改称excel的就行了
      

  5.   

    和winform不一样,好象不能直接导吧
      

  6.   


    String fName ;
    ExportOptions crExpOpt = new ExportOptions();
    //Output Path
    fName = "D:\\TestPrintTemp.xls";
    DiskFileDestinationOptions diskFile = new DiskFileDestinationOptions();
    diskFile.DiskFileName = fName;
    //userRpt is your ReportDocument
    crExpOpt = userRpt.ExportOptions;
    crExpOpt.DestinationOptions = diskFile;
    crExpOpt.ExportDestinationType = xportDestinationType.DiskFile;
    crExpOpt.ExportFormatType = ExportFormatType.Excel;
    userRpt.Export(); Response.ClearContent();
    Response.ClearHeaders();
    Response.ContentType = "Application/x-msexcel" 
    Response.WriteFile(fName);
    Response.Flush();
    Response.Close();
    //delete the exported file from disk
    System.IO.File.Delete(fName);
    这样就行了