将Crystal报表导出到Excel - 指定目录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将Crystal报表导出到Excel - 指定目录相关的知识,希望对你有一定的参考价值。

我有水晶报告(使用C#),我拉,并希望导出到Excel。我设法拉动并导出报告就好了。但是在代码中我手动指定了导出目录。

码:

myEquipCalRPT.ExportToDisk(ExportFormatType.Excel, "C:\Temp\ReportName.xls");

我知道路径必须是字符串值。如何询问用户他/她想要将报告导出到哪里(并为其命名)而不是手动指定代码中的路径?

我尝试使用下面的代码“SaveFileDialog”然后我得到这个例外:“附加信息:不支持给定路径的格式。”。这允许用户指定文件名,虽然我注意到文件名框下面的文件类型没有设置,并且没有类型可供选择。

SaveFileDialog browser = new SaveFileDialog();
string directoryPath = "";
ienter code here`f (browser.ShowDialog() == DialogResult.OK)
{
   directoryPath = browser.ToString(); // prints path
}
myEquipCalRPT.ExportToDisk(ExportFormatType.Excel, directoryPath);

如果我使用“FolderBrowserDialog”,我会收到错误:“其他信息:拒绝访问路径'C: Directory'。”我怀疑是由于只提供了一个目录路径,但没有文件名。

FolderBrowserDialog browser = new FolderBrowserDialog();
string directoryPath = "";

if (browser.ShowDialog() == DialogResult.OK)
{
    directoryPath = browser.SelectedPath; // prints path
}
myEquipCalRPT.ExportToDisk(ExportFormatType.Excel, directoryPath);

如果我尝试以下操作,我没有收到任何错误,但也没有保存文件:

FolderBrowserDialog browser = new FolderBrowserDialog();
string directoryPath = "";
string FileName = "ExcelExport.xls";
string Path = directoryPath + FileName;

if (browser.ShowDialog() == DialogResult.OK)
{
directoryPath = browser.SelectedPath; // prints path
}

myEquipCalRPT.ExportToDisk(ExportFormatType.Excel, Path);

另外,如何导出.xlsx而不是.xls?我可以将路径中的扩展名指定为.xlsx,但它不想打开。需要删除末尾的X才能使其正常工作。

答案

我最终使用此代码来获取路径正确,因为路径是通过“System.Windows.Forms.SaveFileDialog:Title:,FileName:C: Temp test.xls”而不是“C: Temp test”给出的.xls“包含所有对话框。

            SaveFileDialog browser = new SaveFileDialog();
            string directoryPath = "";
            if (browser.ShowDialog() == DialogResult.OK)
            {
                directoryPath = browser.FileName.ToString();
            }

您可以使用其中一行来编写文件,具体取决于您选择使用哪种方式导出报告:

myRPT.ExportToDisk(ExportFormatType.Excel, "C:\Temp\AMCMaintTempExcelReportFile.xls")

CrDiskFileDestinationOptions.DiskFileName = directoryPath;

myRPT.ExportToDisk(ExportFormatType.Excel, directoryPath);

以上是关于将Crystal报表导出到Excel - 指定目录的主要内容,如果未能解决你的问题,请参考以下文章

报表如何实现自动导出到excel

在 Crystal Report Viewer 中自定义导出选项

会用水晶报表crystal reports的请进

怎样用Crystal Report从SAP做报表?

如何将具有链接报告的 s-s-rS 报告导出到 Excel

spring boot项目使用poi导出excel到指定目录并且从指定目录下载excel文件