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

Error opening file generated by epplus

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

"The file format and extension bonus of "filename.csv" don't match. The file could be corrupted or unsafe. Unless you trust its source, don't open it. Do you want to open it anyway?"

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

生成 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/ 其他软件中打开生成的文件时,它是否遗漏了一些东西来防止向用户显示此错误?

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

如果您需要生成 CSV,那么有很多示例说明如何在没有 EPPlus 的情况下生成 CSV。

Writing a CSV file in .net