私はこのコードを使用して、エキサイティングなExcelファイルに書き込みます。ファイルを書き込んだ後、ファイルを手動で開くと、ファイルが破損しています。私はNPOIバイナリ2.3.0.0を使用していますどのように壊れてExcelを避けるために指示してください。NPOI - ファイルを保存した後に破損します.xlsxブック
[Authorize]
public void ExportUsers()
{
var path = Server.MapPath(@"~\Content\ExportTemplates\") + "sample.xlsx";
FileStream sw = new FileStream(path, FileMode.Open, FileAccess.Read);
IWorkbook workbook = WorkbookFactory.Create(sw);
ISheet sheet = workbook.GetSheetAt(0);
IRow row = sheet.GetRow(12);
ICell cell = row.CreateCell(row.LastCellNum);
cell.SetCellValue("test");
workbook.CreateSheet("Ripon");
sw.Close();
using (var exportData = new MemoryStream())
{
workbook.Write(exportData);
string saveAsFileName = string.Format("Export-{0:d}.xls", DateTime.Now).Replace("/", "-");
System.Web.HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", saveAsFileName));
System.Web.HttpContext.Current.Response.Clear();
System.Web.HttpContext.Current.Response.BinaryWrite(exportData.GetBuffer());
System.Web.HttpContext.Current.Response.End();
}
}
新しいファイルが作成されましたが、破損しています。私は人々がこれがバージョン2.0.6で修正されていると言いましたが、まだ私のために働いていません