private void ExportPDF(H_HistoryDataModel model)
{
try
{
// create report instance
Report report = new Report();
PrepareReport(report, model);
// create export instance
PDFExport export = new PDFExport();
// export the report
if (txtFilePath.Text.Trim() == "")//路径为空的时候默认放到桌面
{
txtFilePath.Text = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
}
if (txtFileName.Text.Trim() == "")
{
txtFileName.Text = string.Format("检测报告{0}.pdf", DateTime.Now.ToString("yyyy-MM-dd HHmmss"));
}
string strPath = this.txtFilePath.Text + "\\" + this.txtFileName.Text;
if (!strPath.EndsWith(".pdf"))
{
MessageBox.Show("请输入pdf格式的文件名!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
report.Export(export, strPath);
// free resources used by report
report.Dispose();
MessageBox.Show("结果保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
LogHelper.Error(ex);
MessageBox.Show("输入的路径无法访问,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
private void ExportXLS(H_HistoryDataModel model)
{
try
{
// create report instance
Report report = new Report();
PrepareReport(report, model);
FastReport.Export.OoXML.Excel2007Export xlsExport = new FastReport.Export.OoXML.Excel2007Export();
xlsExport.ShowProgress = false;
MemoryStream strm = new MemoryStream();
report.Export(xlsExport, strm);
strm.Position = 0;
if (txtFilePath.Text.Trim() == "")//路径为空的时候默认放到桌面
{
txtFilePath.Text = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
}
if (txtFileName.Text.Trim() == "")
{
txtFileName.Text = string.Format("检测报告{0}.xls", DateTime.Now.ToString("yyyy-MM-dd HHmmss"));
}
string strPath = this.txtFilePath.Text + "\\" + this.txtFileName.Text;
if (!strPath.EndsWith(".xls"))
{
MessageBox.Show("请输入xls格式的文件名!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
FileStream fs = new FileStream(strPath, FileMode.Create);
strm.WriteTo(fs);
strm.Close();
fs.Close();
xlsExport.Dispose();
strm.Dispose();
fs.Dispose();
report.Dispose();
MessageBox.Show("结果保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
LogHelper.Error(ex);
MessageBox.Show("输入的路径无法访问,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
public void ExportPdfWordByFastReport(string reportFile = @"D:\reportFile.frx")
{
try
{
//数据源
DataTable dt = new DataTable();
dt.Columns.Add("col1", typeof(byte[]));
dt.Columns.Add("col2", typeof(int));
dt.Columns.Add("col3", typeof(string));
dt.Rows.Add(dt.NewRow());
dt.Rows[0]["col2"] = 2;
dt.Rows[0]["col3"] = "表数据第三列字段值";
FastReport.Report report = new FastReport.Report();
DataSet ds = new DataSet();
ds.Tables.Add(dt);
report.RegisterData(ds);
report.Load(reportFile);
report.Prepare();
string fileName = @"D:\2.docx";
//导出Word,使用RichText.RTFExport,但是效果没有OoXML.Word2007Export好
FastReport.Export.RichText.RTFExport export = new FastReport.Export.RichText.RTFExport();
report.Export(export, fileName);
//导出Word,使用OoXML.Word2007Export
FastReport.Export.OoXML.Word2007Export exportWord = new FastReport.Export.OoXML.Word2007Export();
exportWord.ShowProgress = false; //可选,设置导出时是否显示进度窗口,这里设置为不显示。
report.Export(exportWord, fileName);
//导出pdf
fileName = @"D:\2.pdf";
FastReport.Export.Pdf.PDFExport exportPDF = new FastReport.Export.Pdf.PDFExport();
exportPDF.PdfCompliance = FastReport.Export.Pdf.PDFExport.PdfStandard.PdfX_3;//pdf版本1.4
exportPDF.TransparentImages = false;
report.Export(exportPDF, fileName);
}
catch (Exception ex)
{
}
}