Deep Bagadiya Ответов: 1

Экспорт Pdf из crystal report в C#


я пытаюсь создать папку date wise и сохранить отчет в той же папке, папка создана, но файл не сохраняется в этой папке,

пожалуйста, помогите мне

Что я уже пробовал:

private void jayShahDailyReportsToolStripMenuItem_Click(object sender, EventArgs e)
{
    var folderPath = (@"d:/");
    var foldername = DateTime.Now.ToString("yyyy-MM-dd");
    if (!Directory.Exists(folderPath + foldername))
    Directory.CreateDirectory(folderPath + foldername);
    var savepath = System.IO.Path.Combine(folderPath, foldername);
    // Weaving Sales Pending Contract

    ReportDocument cryRpt = new ReportDocument();
    cryRpt.Load(Application.StartupPath + @"\Reports\Jay Shah\Weaving Sales Pending Contract Register.RPT");
    crvContractRegister.ReportSource = cryRpt;
    crvContractRegister.Refresh();
    cryRpt.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, "Weaving Sales Pending Contract Register.pdf");
    MessageBox.Show("Exported Successful");
}

1 Ответов

Рейтинг:
10

Graeme_Grant

Это проблематично:

var folderPath = (@"d:/");

Должно быть:
var folderPath = (@"d:\");

Кроме того, это:
cryRpt.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, "Weaving Sales Pending Contract Register.pdf");

должно быть:
cryRpt.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, Application.StartupPath + @"\Weaving Sales Pending Contract Register.pdf");

но будет переопределять оригинал.

Кроме того, при соединении путей и имен файлов необходимо выполнить следующие действия:
var filename = "Weaving Sales Pending Contract Register.pdf";
var fullFilePathAndName = System.IO.Path.Combine(Application.StartupPath, filename);
cryRpt.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, fullFilePathAndName);

Это гарантирует, что путь будет создан правильно.


Deep Bagadiya

я пытаюсь сохранить файл экспорта в новой созданной папке, а не в startuppath,