首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用PdfReport生成.xlsx文件

如何使用PdfReport生成.xlsx文件
EN

Stack Overflow用户
提问于 2016-04-13 19:39:30
回答 1查看 705关注 0票数 1

我使用PdfReport库来生成.pdf文件格式的报告。PdfReport是一个基于Epplus和iTextsharp的库,这就是为什么我们选择这个库--因为我们想要生成PDF和EXCEL文件。

目前我们能够生成构建的PDF文件,似乎不能生成Excel文件。

在Google上没有太多关于这个库的帮助。

PdfReport

以下是我的代码

代码语言:javascript
复制
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"))));

    }
EN

回答 1

Stack Overflow用户

发布于 2016-04-13 19:50:13

我从来没有使用过这个库,所以我不能对如何使用它提出任何建议,但是,如果您想创建一个包含数据的xlsx文件,则无需经过他们的服务即可完成此操作

新的Office文件格式称为Office Open XML格式,它在所有office应用程序中都是通用的,这里有一本MSDN指南将为您提供帮助

Creating Documents by Using the Open XML Format

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36597235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档