Я пытаюсь использовать NPOI 2.1.3.1 для создания файла Excel из некоторых данных базы данных. Однако создаваемый файл поврежден. Excel отказывается открывать его, а также заменять его на ZIP и пытается извлечь из него также вызывает ошибки в Windows и WinRAR. Другие темы, которые я прочитал, говорят, чтобы обновить до 2.1.3.1, потому что он исправляет что-то о создании XLSX, но это совсем не так. Я также читал, что он имеет какое-то отношение к тому, как он зашифровывает файл, но, похоже, нет никакой возможности его контролировать. Я надеюсь, что кто-то может мне точку в правильном направлении с моим кодом ниже:NPOI 2.1.3.1 создает поврежденные файлы XLSX
public byte[] GetExcelFile(
QueryModel query) {
var orders = Mapper.Map<IList<ExcelListModel>>(Context.Orders.Where(
o =>
o.DateOrdered >= query.Start
&& o.DateOrdered <= query.End));
var workbook = new XSSFWorkbook();
var sheet = workbook.CreateSheet();
for (int i0 = 0, l0 = orders.Count, r = 0; i0 < l0; i0++) {
var order = orders[i0];
for (int i1 = 0, l1 = order.Products.Count; i1 < l1; i1++, r++) {
var row = sheet.CreateRow(r);
var product = order.Products[i1];
row.CreateCell(0).SetCellValue("");
// ...
row.CreateCell(18).SetCellValue("");
}
for (int i1 = 0, l1 = order.Bonuses.Count; i1 < l1; i1++, r++) {
var row = sheet.CreateRow(r);
var bonus = order.Bonuses[i1];
row.CreateCell(0).SetCellValue("");
// ...
row.CreateCell(18).SetCellValue("");
}
}
var memoryStream = new MemoryStream();
workbook.Write(memoryStream);
return memoryStream.ToArray();
}