在使用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);
答案 0 :(得分:3)
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);
}
(取自:Open ExcelPackage Object with Excel application without saving it on local file path)
答案 1 :(得分:0)
您无法使用epplus
创建临时excel文件