Syntax
text - (Required) The text or a reference to a cell that contains the text you want to change. If text does not contain any full-width letters, text is not changed.
Usage Notes
This function can convert full width letter symbol, letter and katakana to half width characters.
Support Case
Support Item
Example Character
Target Character
Full-width Letter
SpreadJS
SpreadJS
Full-width symbol
!@#$
!@#$
Full-width katakana
グループシテイ
グループシテイ
import { Component, NgModule, enableProdMode } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { SpreadSheetsModule } from '@mescius/spread-sheets-angular';
import GC from '@mescius/spread-sheets';
import './styles.css';
@Component({
selector: 'app-component',
templateUrl: 'src/app.component.html'
})
export class AppComponent {
spread: GC.Spread.Sheets.Workbook;
hostStyle = {
width: '100%',
height: '100%',
overflow: 'hidden',
float: 'left'
};
constructor () {
}
initSpread ($event: any) {
let spread = this.spread = $event.spread;
spread.suspendPaint();
let sheet0 = spread.getSheet(0);
sheet0.name("ASC usage");
this.setUsage(sheet0);
let sheet1 = spread.getSheet(1);
sheet1.name("ASC table");
this.setASCformulaInSheet(sheet1);
spread.resumePaint();
}
setUsage (sheet: GC.Spread.Sheets.Worksheet) {
this.setTable(sheet);
sheet.setValue(3, 2, "Furigana (pronunciation of kanji name)");
sheet.setValue(4, 2, "Address");
sheet.setValue(5, 2, "Phone number");
sheet.setValue(6, 2, "Postal code");
sheet.setValue(3, 3, "ブドウ タロウ");
sheet.setValue(4, 3, "紫山3-1-4");
sheet.setValue(5, 3, "022-777-8210");
sheet.setValue(6, 3, "981-3205");
this.setFormula(sheet);
}
setTable (sheet: GC.Spread.Sheets.Worksheet) {
sheet.tables.add("DBCS", 2, 2, 5, 3);
sheet.setColumnWidth(2, 165);
sheet.setColumnWidth(3, 165);
sheet.setColumnWidth(4, 185);
sheet.setRowHeight(3, 50);
sheet.setRowHeight(4, 50);
sheet.setRowHeight(5, 50);
sheet.setRowHeight(6, 50);
sheet.setValue(2, 2, "Usage");
sheet.setValue(2, 3, "Example Characters");
sheet.setValue(2, 4, "Target Characters");
var style = new GC.Spread.Sheets.Style();
style.wordWrap = true;
style.hAlign = GC.Spread.Sheets.HorizontalAlign.center;
style.vAlign = GC.Spread.Sheets.VerticalAlign.center;
sheet.setStyle(3, 2, style);
sheet.setStyle(4, 2, style);
sheet.setStyle(5, 2, style);
sheet.setStyle(6, 2, style);
}
setFormula (sheet: GC.Spread.Sheets.Worksheet) {
sheet.setFormula(3, 4, "=ASC(D4)");
sheet.setFormula(4, 4, "=ASC(D5)");
sheet.setFormula(5, 4, "=ASC(D6)");
sheet.setFormula(6, 4, "=ASC(D7)");
sheet.setFormula(7, 4, "=ASC(D8)");
sheet.setFormula(8, 4, "=ASC(D9)");
sheet.setFormula(9, 4, "=ASC(D10)");
sheet.setFormula(10, 4, "=ASC(D11)");
}
setASCformulaInSheet (sheet: GC.Spread.Sheets.Worksheet) {
let charCode = 12449;
let rowIndexOffset = 1;
sheet.addSpan(0, 0, 1, 4);
sheet.setValue(0, 0, "Full width katakana:");
this.setASC(sheet, rowIndexOffset, charCode, 90); //FULL width katakana
charCode = 65281;
rowIndexOffset += 6;
sheet.addSpan(6, 0, 1, 4);
sheet.setValue(6, 0, "Full width symbol and letter:");
this.setASC(sheet, rowIndexOffset, charCode, 94); // FW symbol and letter
}
setASC (sheet: GC.Spread.Sheets.Worksheet, rowIndexOffset: number, charCodeStart: number, count: number) {
let str = "", i = 0;
for (i; i < count; i++) {
str = String.fromCharCode(charCodeStart + i);
let rowIndex = Math.floor(i / 20) + rowIndexOffset;
let columnIndex = i % 20;
sheet.setFormula(rowIndex, columnIndex, `=ASC("${str}")`);
}
}
}
@NgModule({
imports: [BrowserModule, SpreadSheetsModule],
declarations: [AppComponent],
exports: [AppComponent],
bootstrap: [AppComponent]
})
export class AppModule { }
enableProdMode();
// Bootstrap application with hash style navigation and global services.
platformBrowserDynamic().bootstrapModule(AppModule);
<!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$/en/angular/node_modules/@mescius/spread-sheets/styles/gc.spread.sheets.excel2013white.css">
<!-- Polyfills -->
<script src="$DEMOROOT$/en/angular/node_modules/core-js/client/shim.min.js"></script>
<script src="$DEMOROOT$/en/angular/node_modules/zone.js/fesm2015/zone.min.js"></script>
<!-- SystemJS -->
<script src="$DEMOROOT$/en/angular/node_modules/systemjs/dist/system.js"></script>
<script src="systemjs.config.js"></script>
<script>
// workaround to load 'rxjs/operators' from the rxjs bundle
System.import('rxjs').then(function (m) {
System.import('@angular/compiler');
System.set(SystemJS.resolveSync('rxjs/operators'), System.newModule(m.operators));
System.import('$DEMOROOT$/en/lib/angular/license.ts');
System.import('./src/app.component');
});
</script>
</head>
<body>
<app-component></app-component>
</body>
</html>
<div class="sample-tutorial">
<gc-spread-sheets [hostStyle]="hostStyle" (workbookInitialized)="initSpread($event)">
<gc-worksheet>
</gc-worksheet>
<gc-worksheet>
</gc-worksheet>
</gc-spread-sheets>
</div>
.sample-tutorial {
position: relative;
height: 100%;
overflow: hidden;
}
body {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
(function (global) {
System.config({
transpiler: 'ts',
typescriptOptions: {
tsconfig: true
},
meta: {
'typescript': {
"exports": "ts"
},
'*.css': { loader: 'css' }
},
paths: {
// paths serve as alias
'npm:': 'node_modules/'
},
// map tells the System loader where to look for things
map: {
'core-js': 'npm:core-js/client/shim.min.js',
'zone': 'npm:zone.js/fesm2015/zone.min.js',
'rxjs': 'npm:rxjs/dist/bundles/rxjs.umd.min.js',
'@angular/core': 'npm:@angular/core/fesm2022',
'@angular/common': 'npm:@angular/common/fesm2022/common.mjs',
'@angular/compiler': 'npm:@angular/compiler/fesm2022/compiler.mjs',
'@angular/platform-browser': 'npm:@angular/platform-browser/fesm2022/platform-browser.mjs',
'@angular/platform-browser-dynamic': 'npm:@angular/platform-browser-dynamic/fesm2022/platform-browser-dynamic.mjs',
'@angular/common/http': 'npm:@angular/common/fesm2022/http.mjs',
'@angular/router': 'npm:@angular/router/fesm2022/router.mjs',
'@angular/forms': 'npm:@angular/forms/fesm2022/forms.mjs',
'jszip': 'npm:jszip/dist/jszip.min.js',
'typescript': 'npm:typescript/lib/typescript.js',
'ts': './plugin.js',
'tslib':'npm:tslib/tslib.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',
'@mescius/spread-sheets': 'npm:@mescius/spread-sheets/index.js',
'@mescius/spread-sheets-angular': 'npm:@mescius/spread-sheets-angular/fesm2020/mescius-spread-sheets-angular.mjs',
'@grapecity/jsob-test-dependency-package/react-components': 'npm:@grapecity/jsob-test-dependency-package/react-components/index.js'
},
// packages tells the System loader how to load when no filename and/or no extension
packages: {
src: {
defaultExtension: 'ts'
},
rxjs: {
defaultExtension: 'js'
},
"node_modules": {
defaultExtension: 'js'
},
"node_modules/@angular": {
defaultExtension: 'mjs'
},
"@mescius/spread-sheets-angular": {
defaultExtension: 'mjs'
},
'@angular/core': {
defaultExtension: 'mjs',
main: 'core.mjs'
}
}
});
})(this);