C# 打开由epplus生成的文件时出错

C# 打开由epplus生成的文件时出错,c#,epplus,excelpackage,C#,Epplus,Excelpackage,我在整个wpf应用程序中使用ExcelPackage来生成csv和xlsx,每当我在excel中打开由epplus生成的xlsx时,它都会打开而不出错,但当我在excel中打开生成的csv时,它会显示我 “filename.csv”的文件格式和扩展名不匹配。 文件可能已损坏或不安全。除非您信任其来源, 不要打开它。你还是要打开它吗?” 按yes打开文件时没有任何问题,但是这个错误会显示给用户,非常烦人,所以我想修复它 生成csv的代码一点也不奇怪 using (ExcelPackage p =

我在整个wpf应用程序中使用ExcelPackage来生成csv和xlsx,每当我在excel中打开由epplus生成的xlsx时,它都会打开而不出错,但当我在excel中打开生成的csv时,它会显示我

“filename.csv”的文件格式和扩展名不匹配。 文件可能已损坏或不安全。除非您信任其来源, 不要打开它。你还是要打开它吗?”

按yes打开文件时没有任何问题,但是这个错误会显示给用户,非常烦人,所以我想修复它

生成csv的代码一点也不奇怪

using (ExcelPackage p = new ExcelPackage(new FileInfo(path + filename)))
{
    //Create a sheet
    p.Workbook.Worksheets.Add("User Ids");
    ExcelWorksheet ws = p.Workbook.Worksheets[1];

    for (int i = 0; i < lstCsvUsers.Items.Count; i++)
    {
        ws.Cells[i + 1, 1].Value = lstCsvUsers.Items[i].ToString();
    }

    if (!Directory.Exists(path))
        Directory.CreateDirectory(path);

    p.Save();
}
使用(ExcelPackage p=new ExcelPackage(new FileInfo(path+filename)))
{
//创建图纸
p、 工作簿。工作表。添加(“用户ID”);
Excel工作表ws=p.Workbook.Worksheets[1];
对于(int i=0;i

但是,当用户在excel/其他软件中打开生成的文件时,是否缺少防止向用户显示此错误的功能?

EPPLus不生成CSV文件-仅生成xlsx格式。如果在路径中给它一个.csv扩展名,它将用扩展名保存文件,但它仍然是一个.xlsx。它之所以打开,是因为Excel能够确定这一点,因此发出警告

如果您需要生成CSV,那么有很多关于如何在没有ePlus的情况下生成CSV的示例