AUTHOR: Peter Milchev
DATE POSTED: September 12, 2018
Create a read-only Spreadsheet loaded from Excel file.
The solution is to subscribe to the render event of the underlying Kendo UI Spreadsheet and then disable all cells across all sheets.
Also, the Performance optimization approach can be applied from the Improve performance of slowly loading Spreadsheet code library project.
<style>
.rssToolbarWrapper,
.rssFormulaBar {
display
:
none
;
}
</style>
<script>
function
pageLoadHandler() {
var
spreadsheet = $find(
"<%= RadSpreadsheet1.ClientID %>"
);
value = $get(
"<%= HiddenField1.ClientID %>"
).value;
valueAsJSON = JSON.parse(value);
spreadsheet.get_kendoWidget().fromJSON(valueAsJSON);
spreadsheet.get_kendoWidget().one(
"render"
,
(e) {
e.sender.sheets().forEach(
(sheet) {
sheet.range(0, 0, sheet._rows._count, sheet._columns._count).enable(
false
})
Sys.Application.add_load(pageLoadHandler);
</script>
<
asp:HiddenField
runat
=
"server"
ID
"HiddenField1"
/>
telerik:RadSpreadsheet
"RadSpreadsheet1"
>
</
protected
void
Page_Init(
object
sender, EventArgs e)
{
var workbook =
new
Telerik.Web.Spreadsheet.Workbook();
SpreadsheetDocumentProvider provider =
SpreadsheetDocumentProvider(Server.MapPath(
"~/App_Data/Spreadsheet-OverviewDemo.xlsx"
));
workbook.Sheets = provider.GetSheets();
var json = workbook.ToJson();
HiddenField1.Value = json;
Resources Buy Try