Hi!
If you type FileInfo to new ExcelPackage with file that doesn't exist, dotnet at mac goes to hell. I tried to commit solution for this but I don't have permission.
/// <summary>
/// Create a new instance of the ExcelPackage class based on a existing file or creates a new file.
/// </summary>
/// <param name="newFile">If newFile exists, it is opened. Otherwise it is created from scratch.</param>
public ExcelPackage(FileInfo newFile)
{
if(!newFile.Exists)
{
throw new FileNotFoundException("The file was not found.");
}
Init();
File = newFile;
ConstructNewFile(null);
}
/// <summary>
/// Create a new instance of the ExcelPackage class based on a existing file or creates a new file.
/// </summary>
/// <param name="newFile">If newFile exists, it is opened. Otherwise it is created from scratch.</param>
/// <param name="password">Password for an encrypted package</param>
public ExcelPackage(FileInfo newFile, string password)
{
if (!newFile.Exists)
{
throw new FileNotFoundException("The file was not found.");
}
Init();
File = newFile;
ConstructNewFile(password);
}
/// <summary>
/// Create a new instance of the ExcelPackage class based on a existing template.
/// If newFile exists, it will be overwritten when the Save method is called
/// </summary>
/// <param name="newFile">The name of the Excel file to be created</param>
/// <param name="template">The name of the Excel template to use as the basis of the new Excel file</param>
public ExcelPackage(FileInfo newFile, FileInfo template)
{
if (!newFile.Exists || !template.Exists)
{
throw new FileNotFoundException("The file was not found.");
}
Init();
File = newFile;
CreateFromTemplate(template, null);
}
/// <summary>
/// Create a new instance of the ExcelPackage class based on a existing template.
/// If newFile exists, it will be overwritten when the Save method is called
/// </summary>
/// <param name="newFile">The name of the Excel file to be created</param>
/// <param name="template">The name of the Excel template to use as the basis of the new Excel file</param>
/// <param name="password">Password to decrypted the template</param>
public ExcelPackage(FileInfo newFile, FileInfo template, string password)
{
if (!newFile.Exists || !template.Exists)
{
throw new FileNotFoundException("The file was not found.");
}
Init();
File = newFile;
CreateFromTemplate(template, password);
}
/// <summary>
/// Create a new instance of the ExcelPackage class based on a existing template.
/// </summary>
/// <param name="template">The name of the Excel template to use as the basis of the new Excel file</param>
/// <param name="useStream">if true use a stream. If false create a file in the temp dir with a random name</param>
public ExcelPackage(FileInfo template, bool useStream)
{
if (!template.Exists)
{
throw new FileNotFoundException("The file was not found.");
}
Init();
CreateFromTemplate(template, null);
if (useStream == false)
{
File = new FileInfo(Path.GetTempPath() + Guid.NewGuid().ToString() + ".xlsx");
}
}
/// <summary>
/// Create a new instance of the ExcelPackage class based on a existing template.
/// </summary>
/// <param name="template">The name of the Excel template to use as the basis of the new Excel file</param>
/// <param name="useStream">if true use a stream. If false create a file in the temp dir with a random name</param>
/// <param name="password">Password to decrypted the template</param>
public ExcelPackage(FileInfo template, bool useStream, string password)
{
if (!template.Exists)
{
throw new FileNotFoundException("The file was not found.");
}
Init();
CreateFromTemplate(template, password);
if (useStream == false)
{
File = new FileInfo(Path.GetTempPath() + Guid.NewGuid().ToString() + ".xlsx");
}
}
Hi! If you type FileInfo to new ExcelPackage with file that doesn't exist, dotnet at mac goes to hell. I tried to commit solution for this but I don't have permission.