的FileStream - "不支持&QUOT给定的路径的格式;不支持、路径、格式、FileStream

由网友(难入他心)分享简介:我想使用 EPPlus 保存为我们的LAN preadsheet。我使用的是的FileStream 对象要做到这一点,但是每当我尝试实例,我得到了错误的对象不支持给定路径的格式 C# 私有静态字符串_filename =ErroredRows_;私人静态字符串_results =@"\\prdhilfs03\l&i-s...

我想使用 EPPlus 保存为我们的LAN preadsheet。我使用的是的FileStream 对象要做到这一点,但是每当我尝试实例,我得到了错误的对象

不支持给定路径的格式

C#

 私有静态字符串_filename =ErroredRows_;
    私人静态字符串_results =
        @"prdhilfs03l&i-sales&mktWORKAREAAgencyservicesSharedAICAnalysts_and_ReportingRealignments2014MassUpdateTestingResults";

    公共静态无效写入preadsheet(词典< D​​ataRow的,串GT;错误)
    {
        //创建下载目标
        字符串的文件路径= System.IO.Path.Combine(_results,_filename + DateTime.Now.ToString(YYYY-MM-dd_HH:MM:SS)+的.xl​​sx);

        的FileStream NEWFILE =新的FileStream(文件路径,FileMode.Create,FileAccess.Write);

        //构造新的Excel包
        ExcelPackage PCK =新ExcelPackage(NEWFILE);

        //实例化工作簿对象
        变种WS = pck.Workbook.Worksheets.Add(查询1);
 

这里的文件路径 字符串的内容变量。

\prdhilfs03l&i-sales&mktWORKAREAAgencyservicesSharedAICAnalysts_and_ReportingRealignments2014MassUpdateTestingResultsErroredRows_2014-01-30_13:46:33.xlsx

这行抛出上述错误:

 的FileStream NEWFILE =新的FileStream(文件路径,FileMode.Create,FileAccess.Write);
 
精益生产这东西,谁都可以导入

解决方案

您不能有在你的文件名或路径

我会做什么,如果我是你,是这样的:

  DateTime.Now.Ticks.ToString()
 

而不是

  DateTime.Now.ToString(YYYY-MM-dd_HH:MM:SS)
 

无论如何,你可以保持你自己的逻辑,但你必须删除(而不是使用 - _ 为例)

I'm trying to use EPPlus to save a spreadsheet on our LAN. I'm using a FileStream object to do this, however whenever I attempt to instantiate the object I get the error

The given path's format is not supported

C#

    private static string _fileName = "ErroredRows_";
    private static string _results =
        @"prdhilfs03l&i-sales&mktWORKAREAAgencyservicesSharedAICAnalysts_and_ReportingRealignments2014MassUpdateTestingResults";

    public static void WriteSpreadsheet(Dictionary<DataRow, string> errors)
    {
        //Create download Destination
        string filePath = System.IO.Path.Combine(_results, _fileName + DateTime.Now.ToString("yyyy-MM-dd_HH:mm:ss") + ".xlsx");

        FileStream newFile = new FileStream(filePath, FileMode.Create, FileAccess.Write);

        //Construct new Excel package
        ExcelPackage pck = new ExcelPackage(newFile);

        //Instantiate workbook object
        var ws = pck.Workbook.Worksheets.Add("Query1");

Here's the contents of the filePath string variable.

\prdhilfs03l&i-sales&mktWORKAREAAgencyservicesSharedAICAnalysts_and_ReportingRealignments2014MassUpdateTestingResultsErroredRows_2014-01-30_13:46:33.xlsx

This line throws the error mentioned above:

FileStream newFile = new FileStream(filePath, FileMode.Create, FileAccess.Write);

解决方案

You can't have : in your filename or path.

What i would do if i were you is this:

DateTime.Now.Ticks.ToString()

instead of

DateTime.Now.ToString("yyyy-MM-dd_HH:mm:ss")

Anyway, you can keep your own logic but you have to remove : (instead use - or _ for example)

阅读全文

相关推荐

最新文章