[]
SpreadJS supports using individual module and plugin together in create react app development environment.
This involves the following steps:
Create a Create React App Project
Open the Command Prompt window and type the following commands:
npx create-react-app my-app
cd my-app
npm start
After you finish, the create react app project will be created at the specified location in the directory. For more information on how to create a create react app project, refer to Create React App.
Install SpreadJS modules and plugins in the project
Install the SpreadJS NPM modules and plugins using the following commands:
npm run eject
npm install @grapecity/spread-common @grapecity/spread-calc-engine @grapecity/spread-sheets-core @grapecity/spread-sheets-calc-engine @grapecity/spread-sheets-print @grapecity/spread-sheets-react
Use SpreadJS in Create React App application
Modify the App.js file using the following code.
Changes will be reflected when the browser window is refreshed.
import "@grapecity/spread-common";
import "@grapecity/spread-calc-engine";
import "@grapecity/spread-sheets-core";
import "@grapecity/spread-sheets-calc-engine";
import "@grapecity/spread-sheets-print";
import { SpreadSheets, Worksheet } from '@grapecity/spread-sheets-react';
import './App.css';
import '../node_modules/@grapecity/spread-common/styles/gc.spread.sheets.excel2016colorful.css';
function App() {
let initSpread = function (value) {
let spread = window.spread = value;
let sheet = spread.getActiveSheet();
sheet.setValue(0, 0, "Hello SpreadJS");
}
let printSpread = function () {
let spread = window.spread;
spread.print();
}
return (<div className="sample-tutorial">
<div className="sample-spreadsheets">
<SpreadSheets workbookInitialized={spread => initSpread(spread)}>
<Worksheet></Worksheet>
</SpreadSheets>
</div>
<div id="testButton" onClick={() => printSpread()}>Print</div>
</div>);
}
export default App;
Modify the App.css using the following code:
.sample-tutorial {
position: relative;
height: 400px;
overflow: hidden;
}
.sample-spreadsheets {
width: 100%;
height: 300px;
}
body {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
#testButton {
margin-top: 10px;
text-align: center;
width: 100px;
height: 30px;
border: 1px solid gray;
background-color: lightblue;
}
In web.config.js, search alias, and add one alias as mentioned below:
.....
alias:{
"@grapecity/spread-sheets": require.resolve("@grapecity/spread-common"),
.......
}
.....