Features

Introduction

Introduction

The FlexSheet control extends the FlexGrid control and provides an Excel-like functionality.

Features

Introduction

The FlexSheet control extends the FlexGrid control and provides an Excel-like functionality.
FlexSheet supports all the FlexGrid's features, and focuses on the key features from Excel not included in FlexGrid.

Note:FlexSheet requires the JSZip library for loading and saving xlsx file, you should add jszip.js via CDN or include the script file in the project.

FlexSheet provides following Excel-like features:

Multiple Sheets
Include multiple separated sheets in a single worksheet.
Formulas
Calculation engine includes built-in formula support, complete with nearly 100 formulas and auto-completion. Our formula operations were built to align with Microsoft Excel, including operations for aggregation, mathematics, logic and text.
Cell Style
Cell-styling support includes format, font, horizontal alignment, fore color, fill color and more.
Merge Cells
User can merge any cells, in contrast with FlexGrid, which only supports content-driven cell merging.
Undo/Redo
Undo/redo mutiple operations include edit cell, insert/remove rows/columns, apply cell style, merge cells, resize rows/columns, drag and drop rows/columns and more.
Drag & Drop
Drag and drop rows/columns for moving and copying.
Select whole column
Select the whole column by clicking the column header.
Allow Auto Fill
Auto fill cells with data that follows a pattern by dragging the bottom right corner of the cell.

using Microsoft.AspNetCore.Mvc;

namespace FlexSheetExplorer.Controllers
{
 public partial class FlexSheetController : Controller
 {
 public ActionResult Intro()
 {
 return View();
 }
 }
}
<div>
 <div class="copy">
 <h3>
 @Html.Raw(FlexSheetRes.Intro_Text4)
 </h3>
 <p>@Html.Raw(FlexSheetRes.Intro_Text0)</p>

 <div class="collapsed-content collapse">
 <p>@Html.Raw(FlexSheetRes.Intro_Text1)</p>

 <dl class="dl-horizontal">
 <dt>@Html.Raw(FlexSheetRes.Intro_Text5)</dt>
 <dd>@Html.Raw(FlexSheetRes.Intro_Text6)</dd>
 <dt>@Html.Raw(FlexSheetRes.Intro_Text7)</dt>
 <dd>
 @Html.Raw(FlexSheetRes.Intro_Text8)
 </dd>
 <dt>@Html.Raw(FlexSheetRes.Intro_Text9)</dt>
 <dd>@Html.Raw(FlexSheetRes.Intro_Text10)</dd>
 <dt>@Html.Raw(FlexSheetRes.Intro_Text11)</dt>
 <dd>@Html.Raw(FlexSheetRes.Intro_Text12)</dd>
 <dt>@Html.Raw(FlexSheetRes.Intro_Text13)</dt>
 <dd>
 @Html.Raw(FlexSheetRes.Intro_Text14)
 </dd>
 <dt>@Html.Raw(FlexSheetRes.Intro_Text15)</dt>
 <dd>@Html.Raw(FlexSheetRes.Intro_Text16)</dd>
 <dt>@Html.Raw(FlexSheetRes.Intro_Text17)</dt>
 <dd>@Html.Raw(FlexSheetRes.Intro_Text18)</dd>
 <dt>@Html.Raw(FlexSheetRes.Intro_Text20)</dt>
 <dd>@Html.Raw(FlexSheetRes.Intro_Text21)</dd>
 </dl>
 </div>
 <p>
 <button type="button"
 data-toggle="collapse"
 data-target=".collapsed-content, .btn.btn-default.btn-xs.collapse"
 class="btn btn-default btn-xs collapse in">
 @Html.Raw(FlexSheetRes.Intro_Text2)
 </button>
 </p>
 </div>
 <div>
 <c1-flex-sheet class="flexSheet" allow-auto-fill="true">
 <c1-unbound-sheet column-count="12" row-count="25"></c1-unbound-sheet>
 <c1-unbound-sheet column-count="12" row-count="25"></c1-unbound-sheet>
 </c1-flex-sheet>
 </div>
</div>
@section Summary{
 <p>@Html.Raw(FlexSheetRes.Intro_Text3)</p>

}