.net 导出excel 并保存至服务器指定路径,求样例,急!正确即采纳

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.net 导出excel 并保存至服务器指定路径,求样例,急!正确即采纳相关的知识,希望对你有一定的参考价值。

我现在有导出成excel文件 但是是打开 还没报存 求报存这份excel 到指定路径的 求后台代码

参考技术A //导出Excel
Workbook workBook = new Workbook();
....

//保存
string path = Request.PhysicalApplicationPath + "Upload\\Excel\\" + DateTime.Now.ToString("yyMMddHHmmss") + ".xls";
workBook.Save(path);//保存
//输出Excel
System.IO.FileInfo file = new System.IO.FileInfo(path);
Response.Clear();
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(file.Name));
Response.ContentType = "application/ms-excel";
Response.WriteFile(file.FullName);
Response.End();

将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);

以上是关于.net 导出excel 并保存至服务器指定路径,求样例,急!正确即采纳的主要内容,如果未能解决你的问题,请参考以下文章

jsp调用java方法导出excel为啥会弹出保存或下载的对话框,调用完之后直接将文件保存到指定路径下即可。

将excel中数据保存至另一个excel中用vba

winform NPOI excel 导出并选择保存文件路径

java 导出excel 关于导出路径的配置 求解答 求配置文件的例子

.net导出数据到excel并保存到本地的源码

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