コード例 #1
0
        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));
        }
コード例 #2
0
        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
        }