.pdf
というレポートを生成するために、PdfReport
ライブラリを使用しています。 PdfReportはEpplusとiTextsharpで構築されたライブラリです。そのため、PDFとEXCELファイルを生成したいので、このライブラリを選択しました。PdfReportを使用して.xlsxファイルを生成する方法
現在のところ、Excelファイルを生成できないようなPDFファイルを生成することができます。
Googleではこのライブラリに関する多くのヘルプはありません。ここで
私のコードは、作成したい場合、私はしかし 、その特定のライブラリを使ったことがないので、それを使用する方法の任意の提案をすることはできません
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"))));
}
最も簡単な方法は、CSVファイルを生成することです。 – Kalten
@Mafii問題が他のライブラリでExcelを生成していない - 私たちは、上記のようにPDFレポートライブラリを使用しています - export.ToExcel(description: "Demo"、fileName: "usmandemo.xlsx"、worksheetName: "worksheet1 "、フッター:"フッター "); - それはExcelファイルを生成していません –
@Kalten PDFReportライブラリでそれを行う方法は? –