public JsonResult Export(string model, string data, string format, string title) { Workbook workbook = new Workbook(); workbook.History.IsEnabled = false; workbook.SuspendLayoutUpdate(); workbook.Sheets.Add(SheetType.Worksheet); Worksheet worksheet = workbook.ActiveWorksheet; worksheet.Name = title; var modelObject = JsonConvert.DeserializeObject <dynamic>(model); var dataObject = JsonConvert.DeserializeObject <dynamic>(data); var columnCount = modelObject.Count; for (int idx = 0; idx < columnCount; idx++) { var modelCol = modelObject[idx]; string columnName = modelCol.title ?? modelCol.field; worksheet.Cells[0, idx].SetValue(columnName); } for (int rowIdx = 1; rowIdx < dataObject.Count; rowIdx++) { for (int colIdx = 0; colIdx < modelObject.Count; colIdx++) { worksheet.Cells[rowIdx, colIdx].SetValue(dataObject[rowIdx - 1][modelObject[colIdx].field.ToString()].ToString()); } } if (format == "XLSX") { ColumnSelection columnSelection = worksheet.Columns[0, columnCount]; columnSelection.AutoFitWidth(); } workbook.ResumeLayoutUpdate(); IWorkbookFormatProvider formatProvider = null; if (format == "XLSX") { formatProvider = new XlsxFormatProvider(); } else { formatProvider = new CsvFormatProvider(); } using (MemoryStream output = new MemoryStream()) { formatProvider.Export(workbook, output); Session[title] = output.ToArray(); } return(Json(new { success = true }, JsonRequestBehavior.AllowGet)); }
public void AutoFitColumnsWidth() { #region radspreadprocessing-working-with-rows-and-columns-resizing_3 Workbook workbook = new Workbook(); Worksheet worksheet = workbook.Worksheets.Add(); ColumnSelection columnSelection = worksheet.Columns[5, 7]; columnSelection.AutoFitWidth(); #endregion }