SEQUENCE 기능은 사용자가 배열에서 1, 2, 3, 4와 같은 일련 번호 목록을 생성할 수 있도록 합니다. 예:
인수
요구
설명
rows
Y
반환할 행의 수
[columns]
N
반환할 열의 수
[start]
N
일련의 첫 번째 숫자
[step]
N
배열의 각 후속 값을 증가시키는 양
Note:
SEQUENCE 기능은 allowDynamicArray가 참일 때만 유효하다.
SEQUENCE 함수는 함수의 최종 결과일 경우 나타나는 배열을 반환한다.
누락된 옵션 인수는 1로 기본 설정된다.
최소값 또는 최대값 인수를 입력하지 않으면 RANDARRAY가 각각 0과 1로 기본 설정된다.
배열은 값의 행, 값의 열 또는 값의 행과 열의 조합으로 생각할 수 있다.
import * as React from 'react';
import * as ReactDOM from 'react-dom';
import './styles.css';
import { AppFunc } from './app-func';
import { App } from './app-class';
// 1. Functional Component sample
ReactDOM.render(<AppFunc />, document.getElementById('app'));
// 2. Class Component sample
// ReactDOM.render(<App />, document.getElementById('app'));
import * as React from 'react';
import GC from '@mescius/spread-sheets';
import '@mescius/spread-sheets-resources-ko';
GC.Spread.Common.CultureManager.culture("ko-kr");
import { SpreadSheets, Worksheet } from '@mescius/spread-sheets-react';
import './styles.css';
export function AppFunc() {
const initSpread = (spread) => {
spread.options.allowDynamicArray = true;
var sheet = spread.getActiveSheet();
spread.suspendPaint();
spread.suspendCalcService();
sheet.name('SEQUENCE');
sheet.setColumnWidth(2, 120);
var formula = 'SEQUENCE(4,5)', row = 2, formatter;
sheet.setText(0, 1, 'The SEQUENCE function allows you to generate a list of sequential numbers in an array. Syntax: SEQUENCE(rows,[columns],[start],[step])');
sheet.setText(row, 2, formula);
sheet.setFormula(row + 1, 2, formula);
formula = 'SEQUENCE(15,,TODAY())';
formatter = 'd-mmm-yy';
row = 10;
applyTableStyleForRange(sheet, row + 1, 2, 16, 1);
sheet.setText(row, 2, formula + ' with ' + formatter);
sheet.setText(row + 1, 2, 'Date');
sheet.setFormula(row + 2, 2, formula);
sheet.getRange(row + 2, 2, 15, 1).formatter(formatter);
var col = 7;
applyTableStyleForRange(sheet, row + 1, col, 10, 1);
formula = 'SEQUENCE(10,,100,-10)';
sheet.setText(row, col, formula);
sheet.setText(row + 1, col, 'Number');
sheet.setFormula(row + 2, col, formula);
spread.resumeCalcService();
spread.resumePaint();
}
const applyTableStyleForRange = (sheet, row, col, rowCount, colCount, options) => {
var tableName = "tmpTable";
var TableThemes = GC.Spread.Sheets.Tables.TableThemes;
// use table to help set style then remove like convert table to range in Excel
sheet.tables.add(tableName, row, col, rowCount, colCount, TableThemes.medium7, options);
sheet.tables.remove(tableName, 2 /* keep style */);
}
return <div class="sample-tutorial">
<div class="sample-spreadsheets">
<SpreadSheets workbookInitialized={spread => initSpread(spread)}>
<Worksheet>
</Worksheet>
</SpreadSheets>
</div>
</div>;
}
import * as React from 'react';
import GC from '@mescius/spread-sheets';
import '@mescius/spread-sheets-resources-ko';
GC.Spread.Common.CultureManager.culture("ko-kr");
import { SpreadSheets, Worksheet } from '@mescius/spread-sheets-react';
import './styles.css';
const Component = React.Component;
export class App extends Component {
render() {
return <div class="sample-tutorial">
<div class="sample-spreadsheets">
<SpreadSheets workbookInitialized={spread=>this.initSpread(spread)}>
<Worksheet>
</Worksheet>
</SpreadSheets>
</div>
</div>;
}
initSpread(spread) {
spread.options.allowDynamicArray = true;
var sheet = spread.getActiveSheet();
spread.suspendPaint();
spread.suspendCalcService();
sheet.name('SEQUENCE');
sheet.setColumnWidth(2, 120);
var formula = 'SEQUENCE(4,5)', row = 2, formatter;
sheet.setText(0, 1, 'The SEQUENCE function allows you to generate a list of sequential numbers in an array. Syntax: SEQUENCE(rows,[columns],[start],[step])');
sheet.setText(row, 2, formula);
sheet.setFormula(row + 1, 2, formula);
formula ='SEQUENCE(15,,TODAY())';
formatter = 'd-mmm-yy';
row = 10;
this.applyTableStyleForRange(sheet, row + 1, 2, 16, 1);
sheet.setText(row, 2, formula + ' with ' + formatter);
sheet.setText(row + 1, 2, 'Date');
sheet.setFormula(row + 2, 2, formula);
sheet.getRange(row + 2, 2, 15, 1).formatter(formatter);
var col = 7;
this.applyTableStyleForRange(sheet, row + 1, col, 10, 1);
formula = 'SEQUENCE(10,,100,-10)';
sheet.setText(row, col, formula);
sheet.setText(row + 1, col, 'Number');
sheet.setFormula(row + 2, col, formula);
spread.resumeCalcService();
spread.resumePaint();
}
applyTableStyleForRange(sheet, row, col, rowCount, colCount, options) {
var tableName = "tmpTable";
var TableThemes = GC.Spread.Sheets.Tables.TableThemes;
// use table to help set style then remove like convert table to range in Excel
sheet.tables.add(tableName, row, col, rowCount, colCount, TableThemes.medium7, options);
sheet.tables.remove(tableName, 2 /* keep style */);
}
}
<!doctype html>
<html style="height:100%;font-size:14px;">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" type="text/css" href="$DEMOROOT$/ko/react/node_modules/@mescius/spread-sheets/styles/gc.spread.sheets.excel2013white.css">
<!-- SystemJS -->
<script src="$DEMOROOT$/ko/react/node_modules/systemjs/dist/system.src.js"></script>
<script src="systemjs.config.js"></script>
<script>
System.import('$DEMOROOT$/ko/lib/react/license.js').then(function () {
System.import('./src/app');
});
</script>
</head>
<body>
<div id="app"></div>
</body>
</html>
.sample-tutorial {
position: relative;
height: 100%;
overflow: hidden;
}
.sample-spreadsheets {
width: 100%;
height: 100%;
overflow: hidden;
float: left;
}
.options-container {
float: right;
width: 280px;
padding: 12px;
height: 100%;
box-sizing: border-box;
background: #fbfbfb;
overflow: auto;
}
.option-row {
font-size: 14px;
padding: 5px;
margin-top: 10px;
}
#switchAutoMergeMode {
margin: 10px 0px;
}
body {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
#app {
height: 100%;
}
(function (global) {
System.config({
transpiler: 'plugin-babel',
babelOptions: {
es2015: true,
react: true
},
meta: {
'*.css': { loader: 'css' }
},
paths: {
// paths serve as alias
'npm:': 'node_modules/'
},
// map tells the System loader where to look for things
map: {
'@mescius/spread-sheets': 'npm:@mescius/spread-sheets/index.js',
'@mescius/spread-sheets-resources-ko': 'npm:@mescius/spread-sheets-resources-ko/index.js',
'@mescius/spread-sheets-react': 'npm:@mescius/spread-sheets-react/index.js',
'@grapecity/jsob-test-dependency-package/react-components': 'npm:@grapecity/jsob-test-dependency-package/react-components/index.js',
'react': 'npm:react/umd/react.production.min.js',
'react-dom': 'npm:react-dom/umd/react-dom.production.min.js',
'css': 'npm:systemjs-plugin-css/css.js',
'plugin-babel': 'npm:systemjs-plugin-babel/plugin-babel.js',
'systemjs-babel-build':'npm:systemjs-plugin-babel/systemjs-babel-browser.js'
},
// packages tells the System loader how to load when no filename and/or no extension
packages: {
src: {
defaultExtension: 'jsx'
},
"node_modules": {
defaultExtension: 'js'
},
}
});
})(this);