【问题标题】:Error opening file generated by epplus打开 epplus 生成的文件时出错
【发布时间】:2015-10-08 14:52:18
【问题描述】:

我在整个 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/其他软件中打开生成的文件时,它是否缺少一些东西来防止这个错误显示给用户?

【问题讨论】:

    标签: c# epplus excelpackage


    【解决方案1】:

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

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

    Writing a CSV file in .net

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多