如何使用PdfReport生成.xlsx文件

我正在使用PdfReport库来生成报告作为.pdf文件。 PdfReport是一个build立在Epplus和iTextsharp上的库,这就是为什么我们select这个库,因为我们想要生成PDF和EXCEL文件。

目前我们能够生成似乎无法生成Excel文件的PDF文件。

谷歌与这个图书馆没有太大的关系。

PdfReport

这是我的代码

 public class IListPdfReport { public IPdfReportData CreatePdfReport(DataSet mTables) { return new PdfReport().DocumentPreferences(doc => { doc.RunDirection(PdfRunDirection.LeftToRight); doc.Orientation(PageOrientation.Portrait); doc.PageSize(PdfPageSize.A4); doc.DocumentMetadata(new DocumentMetadata { Author = "Vahid", Application = "PdfRpt", Keywords = "IList Rpt.", Subject = "Test Rpt", Title = "Test" }); doc.Compression(new CompressionSettings { EnableCompression = true, EnableFullCompression = true }); doc.PrintingPreferences(new PrintingPreferences { ShowPrintDialogAutomatically = true }); }) .DefaultFonts(fonts => { fonts.Path(System.IO.Path.Combine(Environment.GetEnvironmentVariable("SystemRoot"), "fonts\\arial.ttf"), System.IO.Path.Combine(Environment.GetEnvironmentVariable("SystemRoot"), "fonts\\verdana.ttf")); fonts.Size(9); fonts.Color(System.Drawing.Color.Black); }) .PagesFooter(footer => { footer.DefaultFooter(DateTime.Now.ToString("MM/dd/yyyy")); }) .MainTableTemplate(template => { template.BasicTemplate(BasicTemplate.AppleOrchardTemplate); }) .MainTablePreferences(table => { table.ColumnsWidthsType(TableColumnWidthType.FitToContent); table.NumberOfDataRowsPerPage(10); }) .MainTableDataSource(dataSource => { dataSource.DataTable(mTables.Tables[2]); }) .MainTableSummarySettings(summarySettings => { summarySettings.OverallSummarySettings("Summary"); summarySettings.PreviousPageSummarySettings("Previous Page Summary"); summarySettings.PageSummarySettings("Page Summary"); }) .MainTableColumns(columns => { columns.AddColumn(column => { column.PropertyName("AssetSummaryReportDetailId"); column.IsRowNumber(true); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(0); column.Width(1); column.HeaderCell("AssetSummaryReportDetailId"); }); columns.AddColumn(column => { column.PropertyName("AssetId"); column.IsRowNumber(true); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(1); column.Width(2); column.HeaderCell("AssetId"); }); columns.AddColumn(column => { column.PropertyName("CategoryId"); column.IsRowNumber(true); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(1); column.Width(2); column.HeaderCell("CategoryId"); }); }) .MainTableEvents(events => { events.DataSourceIsEmpty(message: "There is no data available to display."); }) .Export(export => { // This line here should generate the Excel file, but it is not creating the Excel file export.ToExcel(description: "Demo", fileName: "usmandemo.xlsx", worksheetName: "worksheet1", footer: "footer"); }) .Generate(data => data.AsPdfFile(string.Format("{0}\\A_RptIListSample-{1}.pdf", AppPath.ApplicationPath, Guid.NewGuid().ToString("N")))); } 

我从来没有使用特定的库,所以不能就如何使用它提出任何build议,但是如果你想创build一个带有数据的xlsx文件,你可以通过他们的服务

新的Office文件格式被称为Office Open XML格式,它在所有Office应用程序之间通用,这里有一个MSDN指南可以帮助你

使用Open XML格式创build文档