用epplus创建一个临时excel文件

本文关键字:一个 excel 文件 epplus 创建 | 更新日期: 2023-09-27 17:49:30

添加了所有我想要的epplus新创建的excel文件后,我如何打开它?我不想先保存文件然后再打开它,这是可能的吗?我希望它只是打开,让用户决定是否要保存它。

到目前为止,我发现并尝试的唯一代码生成一个文件名,保存excel文件,然后打开它。

Byte[] bin = p.GetAsByteArray();
string file = Guid.NewGuid().ToString() + ".xlsx";
File.WriteAllBytes(file, bin);
ProcessStartInfo pi = new ProcessStartInfo(file);
Process.Start(pi);

用epplus创建一个临时excel文件

EPPlus在重命名的zip文件中生成xml,因此没有机制将其传输到Excel而不将其保存在某个地方。但是你总是可以保存到用户临时文件夹中——这是大多数程序在某些时候为了在彼此之间传输文件而必须做的。可以使用System.IO.Path.GetTempPath():

执行类似的操作
[TestMethod]
public void TempFolderTest()
{
    var path = Path.Combine(Path.GetTempPath(), "temp.xlsx");
    var tempfile = new FileInfo(path);
    if (tempfile.Exists)
        tempfile.Delete();
    //Save the file
    using (var pck = new ExcelPackage(tempfile))
    {
        var ws = pck.Workbook.Worksheets.Add("Demo");
        ws.Cells[1, 2].Value = "Excel Test";
        pck.Save();
    }
    //open the file
    Process.Start(tempfile.FullName);
}

(取自:使用Excel应用程序打开ExcelPackage Object而不将其保存在本地文件路径中)

这是不可能的,你不能用epplus创建一个临时的excel文件