1
FileStream s = new FileStream(@myPath, FileMode.Open, FileAccess.ReadWrite);
IWorkbook wb = new XSSFWorkbook(s);
s.Close();
ISheet isheet = wb.GetSheetAt(0);
IRow irow = isheet.CreateRow(0);
irow.CreateCell(0).SetCellValue("foo");
s = new FileStream(@myPath + "blah.xlsx", FileMode.Create);
wb.Write(s);
s.Close();
새 파일이 생성되었지만 손상되었습니다. 나는 사람들이 이것이 2.0.6 버전에서 수정되었다고 말하지만 여전히 나를 위해 일하지 않는다고 본다.xlsx를 NPOI로 편집하고 저장하면 파일이 손상됩니다.
연결하지 않으면 지속되는 동일한 문제로 덮어 씁니다. 문제는 SharpLibZip의 Zip64 형식에서 발생했습니다. 손상된 xlsx 파일을 수동으로 압축 해제하고 다시 압축하면 작동합니다. 또는 코드에서 Zip64를 해제 할 수 있습니다. https://npoi.codeplex.com/workitem/12847 –
@DenisD의 결과를 NPOI의 2.1.3.1 버전에서 확인할 수 있습니다. 파일을 수동으로 압축 해제하고 다시 압축하면 MS Excel 2013이 행복합니다. – Marcel