Does any one know how to use the package.Saveas function?
package.SaveAs(tempFolderPathAlt + saveas + ".xlsx");
At the moment this is underlined in red with the following error:
The best overloaded method match for 'OfficeOpenXml.ExcelPackage.SaveAs(System.IO.Stream)' has some invalid arguments
At the moment i'm saving the file in the following way.
FileStream aFile = new FileStream(tempFolderPathAlt + saveas + ".xls", FileMode.Create); byte[] byData = package.GetAsByteArray(); aFile.Seek(0, SeekOrigin.Begin); aFile.Write(byData, 0, byData.Length); aFile.Close();
But this way the package remains open and i cant work with files it has used.
The save as will close the package properly, but its not accepting my file path.
Edit
I tried this:
using (FileStream aFile = new FileStream(tempFolderPathAlt + saveas + ".xlsx", FileMode.Create)) { byte[] byData = package.GetAsByteArray(); aFile.Seek(0, SeekOrigin.Begin); package.SaveAs(aFile); //aFile.Write(byData, 0, byData.Length); aFile.Close(); }
But Get the following error?
Package object was closed and disposed, so cannot carry out operations on this object or any stream opened on a part of this package.
The package will be closed & disposed after you call any of functions GetAsByteArray
, Save
, SaveAs
. That is the reason why you got message
Package object was closed and disposed, so cannot carry out operations on this object or any stream opened on a part of this package.
The solution is that after the saving you call Load
function to continue processing on excel file. Or if you just want to get both ByteArray & FileOutput, I'm sure with you they both are same.
You can read data after have saved file to the disk:
string path = @"C:\test1.xlsx"; Stream stream = File.Create(path); package.SaveAs(stream); stream.Close(); byte[] data = File.ReadAllBytes(path);
Or you can save data to disk after get the ByteArray:
byte[] data = package.GetAsByteArray(); string path = @"C:\test1.xlsx"; File.WriteAllBytes(path, data);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With