Multi-Instance Spreadsheets
Run multiple spreadsheet instances in the same application
Overview
Basic Usage
import {
SpreadsheetProvider,
SpreadsheetMultiInstanceProvider,
CanvasGrid,
} from "@rowsncolumns/spreadsheet";
import { useSpreadsheetState } from "@rowsncolumns/spreadsheet-state";
function MultiSpreadsheetApp() {
return (
<SpreadsheetMultiInstanceProvider>
<SpreadsheetProvider>
<SpreadsheetInstance instanceId="spreadsheet-1" />
</SpreadsheetProvider>
<SpreadsheetProvider>
<SpreadsheetInstance instanceId="spreadsheet-2" />
</SpreadsheetProvider>
</SpreadsheetMultiInstanceProvider>
);
}
function SpreadsheetInstance({ instanceId }: { instanceId: string }) {
const {
activeCell,
activeSheetId,
selections,
// ... other state
} = useSpreadsheetState({
// configuration
});
return (
<CanvasGrid
instanceId={instanceId}
sheetId={activeSheetId}
activeCell={activeCell}
selections={selections}
// ... other props
/>
);
}Instance ID
Why Instance IDs Matter
Use Cases
Side-by-Side Comparison
Multi-Document Interface
Master-Detail View
Complete Example
Best Practices
Limitations
Performance Tips
Troubleshooting
Keyboard Events Not Working
State Conflicts
Last updated