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
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
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);
to:"我是想知道能不能将Crystal Report产生的报表直接倒成Excel,而且是在Web上" 可以!
转换时,报表格式将有损失,但系统会尽量多的保留、减少损失。
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);
这样就行了