打开epplus生成的文件时出错

时间:2015-07-19 10:42:43

标签: c# epplus excelpackage

我在整个wpf应用程序中使用ExcelPackage来生成csvs和xlsxs,每当我打开由excel中的epplus生成的xlsx时它会打开而没有错误,但是当我在excel中打开生成的csv时它会显示我

  

"" filename.csv"的文件格式和扩展奖励不匹配。   该文件可能已损坏或不安全。除非你相信它的来源,   不要打开它。你想打开吗?"

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

生成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();
}

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

1 个答案:

答案 0 :(得分:2)

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

如果您需要生成CSV,那么有很多关于如何在没有EPPlus的情况下执行此操作的示例。

Writing a CSV file in .net