C# Epplus 在桌面应用程序中将字节文件保存为 XLS
C# Epplus Save Byte file as XLS in a Desktop Application
我需要将 ExcelPackage 另存为 XLS 文件。我尝试这样做,我知道如何更改 Web 应用程序中的内容类型,但我在桌面环境中找不到任何解决方案。
现在我正在使用这个代码:
using (ExcelPackage p = new ExcelPackage())
{
string filename = "OCL_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
string PathToCSV = "App_Data/OCL/";
string OCLfolder = AppDomain.CurrentDomain.BaseDirectory + PathToCSV;
string savepath = OCLfolder + "/" + filename;
System.IO.FileInfo strfilePath = new System.IO.FileInfo(savepath);
//create a new workbook
p.Workbook.Properties.Created = DateTime.Now;
p.Workbook.Properties.Title = filename;
//create a new worksheet
p.Workbook.Worksheets.Add(filename);
ExcelWorksheet ws = p.Workbook.Worksheets[1];
createExcelData(ws, idCliente, idDestinatario, idSpedDati);
ws.Cells[ws.Dimension.Address].AutoFitColumns();
for (int col = 1; col <= ws.Dimension.End.Column; col++)
{
ws.Column(col).Width = ws.Column(col).Width + 1;
}
byte[] bin = p.GetAsByteArray();
strfilePath.Directory.Create();
File.WriteAllBytes(savepath, bin);
return savepath;
}
如果我将文件另存为 .xlsx 没有问题,但如果我另存为 .xls 我在打开文件之前遇到错误:
"The file format differs from the format that the file name extension
specifies"
EPPlus 不适用于 XLS 格式。只有 XLSX。
如果您的客户坚持使用 .XLS 格式,而您无法说服他们更新为 MS 实际支持的格式,那么我建议您使用 NPOI,一种开源软件reading/writing 旧版 MS Office 格式文件的项目
我需要将 ExcelPackage 另存为 XLS 文件。我尝试这样做,我知道如何更改 Web 应用程序中的内容类型,但我在桌面环境中找不到任何解决方案。
现在我正在使用这个代码:
using (ExcelPackage p = new ExcelPackage())
{
string filename = "OCL_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
string PathToCSV = "App_Data/OCL/";
string OCLfolder = AppDomain.CurrentDomain.BaseDirectory + PathToCSV;
string savepath = OCLfolder + "/" + filename;
System.IO.FileInfo strfilePath = new System.IO.FileInfo(savepath);
//create a new workbook
p.Workbook.Properties.Created = DateTime.Now;
p.Workbook.Properties.Title = filename;
//create a new worksheet
p.Workbook.Worksheets.Add(filename);
ExcelWorksheet ws = p.Workbook.Worksheets[1];
createExcelData(ws, idCliente, idDestinatario, idSpedDati);
ws.Cells[ws.Dimension.Address].AutoFitColumns();
for (int col = 1; col <= ws.Dimension.End.Column; col++)
{
ws.Column(col).Width = ws.Column(col).Width + 1;
}
byte[] bin = p.GetAsByteArray();
strfilePath.Directory.Create();
File.WriteAllBytes(savepath, bin);
return savepath;
}
如果我将文件另存为 .xlsx 没有问题,但如果我另存为 .xls 我在打开文件之前遇到错误:
"The file format differs from the format that the file name extension specifies"
EPPlus 不适用于 XLS 格式。只有 XLSX。
如果您的客户坚持使用 .XLS 格式,而您无法说服他们更新为 MS 实际支持的格式,那么我建议您使用 NPOI,一种开源软件reading/writing 旧版 MS Office 格式文件的项目