轉帖|使用教程|編輯:鮑佳佳|2021-03-01 11:17:28.453|閱讀 210 次
概述:下面的示例展示了如何用SpreadJS輕松地創建復雜輸入表單,比如1040表單(美國個人所得稅的納稅申報表)。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
SpreadJS 是一款基于 HTML5 的純前端電子表格控件,兼容 450 種以上的 Excel 公式,具有 “高性能、跨平臺、與 Excel 高度兼容”的產品特性SpreadJS 為用戶帶來親切的 Excel 使用體驗的同時,滿足 Web Excel 組件開發、表格文檔協同編輯、數據填報、Excel 類報表設計等業務場景,極大降低了企業研發成本和項目交付風險。下面我們將講述在使用SpreadJS進行開發時如何應用Excel主題。
下面的示例展示了如何用SpreadJS輕松地創建復雜輸入表單,比如1040表單(美國個人所得稅的納稅申報表)。
	 
這個示例主要使用了鎖定單元格來阻止編輯行為、豎直對齊,還通過fromJSON加載了預定義的模板。
app.js:
window.onload = function () {
            var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"), { sheetCount: 1 });
            initSpread(spread);
        };
        function initSpread(spread) {
            var sd = data;
            if (sd.length > 0) {
                if (!spread) {
                    return;
                }
                spread.suspendPaint();
                spread.fromJSON(sd[0]);
                spread.options.tabStripVisible = false;
                var sheet = spread.getSheet(0);
                sheet.options.isProtected = true;
                sheet.options.gridline = { showHorizontalGridline: false, showVerticalGridline: false };
                sheet.getRange(-1, 0, -1, sheet.getColumnCount(GC.Spread.Sheets.SheetArea.rowHeader), GC.Spread.Sheets.SheetArea.rowHeader).visible(false);
                sheet.getRange(0, -1, sheet.getRowCount(GC.Spread.Sheets.SheetArea.colHeader), -1, GC.Spread.Sheets.SheetArea.colHeader).visible(false);
                var style = sheet.getStyle(1, 1, GC.Spread.Sheets.SheetArea.viewport);
                if (style) {
                    style.wordWrap = true;
                    sheet.setStyle(1, 1, style);
                }
                style = sheet.getStyle(3, 3, GC.Spread.Sheets.SheetArea.viewport);
                if (style) {
                    style.wordWrap = true;
                    sheet.setStyle(3, 3, style);
                }
                style = sheet.getStyle(7, 1, GC.Spread.Sheets.SheetArea.viewport);
                if (style) {
                    style.wordWrap = true;
                    sheet.setStyle(7, 1, style);
                }
                style = sheet.getStyle(5, 1, GC.Spread.Sheets.SheetArea.viewport);
                if (style) {
                    style.wordWrap = true;
                    sheet.setStyle(5, 1, style);
                }
                style = sheet.getStyle(9, 1, GC.Spread.Sheets.SheetArea.viewport);
                if (style) {
                    style.wordWrap = true;
                    sheet.setStyle(9, 1, style);
                }
                style = sheet.getStyle(15, 1, GC.Spread.Sheets.SheetArea.viewport);
                if (style) {
                    style.wordWrap = true;
                    sheet.setStyle(15, 1, style);
                    sheet.setStyle(21, 1, style);
                }
                style = sheet.getStyle(31, 1, GC.Spread.Sheets.SheetArea.viewport);
                if (style) {
                    style.wordWrap = true;
                    sheet.setStyle(31, 1, style);
                }
                style = sheet.getStyle(37, 1, GC.Spread.Sheets.SheetArea.viewport);
                if (style) {
                    style.wordWrap = true;
                    sheet.setStyle(37, 1, style);
                }
                style = sheet.getStyle(41, 1, GC.Spread.Sheets.SheetArea.viewport);
                if (style) {
                    style.wordWrap = true;
                    sheet.setStyle(41, 1, style);
                }
                style = sheet.getStyle(46, 1, GC.Spread.Sheets.SheetArea.viewport);
                if (style) {
                    style.wordWrap = true;
                    sheet.setStyle(46, 1, style);
                }
                style = sheet.getStyle(17, 22, GC.Spread.Sheets.SheetArea.viewport);
                if (style) {
                    style.wordWrap = true;
                    sheet.setStyle(17, 22, style);
                }
                style = sheet.getStyle(19, 12, GC.Spread.Sheets.SheetArea.viewport);
                if (style) {
                    style.wordWrap = true;
                    sheet.setStyle(19, 12, style);
                    sheet.setStyle(19, 16, style);
                    sheet.setStyle(19, 18, style);
                }
                style = sheet.getStyle(8, 21, GC.Spread.Sheets.SheetArea.viewport);
                if (style) {
                    style.wordWrap = true;
                    sheet.setStyle(8, 21, style);
                }
                style = sheet.getStyle(10, 21, GC.Spread.Sheets.SheetArea.viewport);
                if (style) {
                    style.wordWrap = true;
                    sheet.setStyle(10, 21, style);
                }
                style = sheet.getStyle(13, 1, GC.Spread.Sheets.SheetArea.viewport);
                if (style) {
                    style.font = "normal bold 14px Calibri";
                    sheet.setStyle(13, 1, style);
                    sheet.setStyle(17, 1, style);
                    sheet.setStyle(28, 1, style);
                }
                style = sheet.getStyle(46, 1, GC.Spread.Sheets.SheetArea.viewport);
                if (style) {
                    style.font = "normal bold 14px Calibri";
                    style.wordWrap = true;
                    sheet.setStyle(46, 1, style);
                }
                spread.resumePaint();
            }
        }
index.html:
<!doctype html>
<html style="height:100%;font-size:14px;">
<head>
    <meta name="spreadjs culture" content="zh-cn" />
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <link rel="stylesheet" type="text/css" href="$DEMOROOT$/zh/purejs/node_modules/@grapecity/spread-sheets/styles/gc.spread.sheets.excel2013white.css">
    <script src="$DEMOROOT$/zh/purejs/node_modules/@grapecity/spread-sheets/dist/gc.spread.sheets.all.min.js" type="text/javascript"></script>
    <script src="$DEMOROOT$/zh/purejs/node_modules/@grapecity/spread-sheets-resources-zh/dist/gc.spread.sheets.resources.zh.min.js" type="text/javascript"></script>
    <script src="$DEMOROOT$/spread/source/js/license.js" type="text/javascript"></script>
    <script src="$DEMOROOT$/spread/source/data/taxform.js" type="text/javascript"></script>
    <script src="app.js" type="text/javascript"></script>
    <link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>
    <div class="sample-tutorial">
        <div id="ss" style="width:100%;height:100%"></div>
    </div>
</body>
</html>
style.css:
.sample-tutorial {
    position: relative;
    height: 100%;
    overflow: hidden;
}
body {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
本文轉載自:
趕快下載體驗吧!現推出限時活動,SpreadJS正版授權低至3490元!歡迎咨詢慧都在線客服了解詳情!
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@ke049m.cn
文章轉載自: