我在整个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 /其他软件中打开生成的文件时,是否缺少防止此错误显示给用户的内容?
答案 0 :(得分:2)
EPPLus不会生成CSV文件 - 仅限xlsx格式。如果你在路径中给它一个.csv扩展名,它将使用扩展名保存文件,但它仍然是.xlsx。它打开是因为Excel能够确定 - 因此警告。
如果您需要生成CSV,那么有很多关于如何在没有EPPlus的情况下执行此操作的示例。