Пример #1
0
        public IActionResult ConvertJsonArrayToExcel([FromBody] JArray jsonArray, string bpmnModelName, string guid, string userName)
        {
            try
            {
                byte[] fileContents;
                using (var excelPackage = new ExcelPackage())
                {
                    var excelWorksheet = excelPackage.Workbook.Worksheets.Add(bpmnModelName);
                    ExcelConverter.AddWorksheetInfo(ref excelWorksheet, userName, guid);
                    var excelTable = ExcelConverter.AddTableToWorkSheet(ref excelWorksheet, jsonArray, "TableName");
                    ExcelConverter.AddHeadersToExcelTable(excelTable, jsonArray);
                    ExcelConverter.AddDataToTabel(ref excelWorksheet, excelTable, jsonArray);

                    // export it to byte array.
                    fileContents = excelPackage.GetAsByteArray();
                }

                if (fileContents == null || fileContents.Length == 0)
                {
                    return(NotFound());
                }

                //https://stackoverflow.com/a/50259742
                return(File(
                           fileContents: fileContents,
                           contentType: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
                           fileDownloadName: $"{bpmnModelName}_test.xlsx"
                           ));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }