Working with GridJs Server Side

Working with GridJs Server Side

0. set the right folder path in Config

Config.FileCacheDirectory for the workbook cache file. Config.PictureCacheDirectory for the image files cache in the workbook.

for the storage detail ,please check this guide

1. Implement GridCacheForStream

For local file storage ,here is an example:

For server side storage,we also provide an example. Please check: https://github.com/aspose-cells/Aspose.Cells-for-.NET/blob/master/Examples_GridJs/Models/AwsCache.cs

2. Get json from the spreadsheet file.

GridJsWorkbook wbj = new GridJsWorkbook();
using (FileStream fs = new FileStream(path, FileMode.Open))
{
    wbj.ImportExcelFile(fs,GridJsWorkbook.GetGridLoadFormat(Path.GetExtension(path)));
}
String ret =wbj.ExportToJson();

3. Get the images/shapes from the spreadsheet file

//Gridjs will automatically zip all the images/shapes into a zip stream  and store it in cache using the cache implemention.
//GridJsWorkbook.CacheImp.SaveStream(zipoutStream, fileid);

//get the fileid in the cache,uid is the unique id for the spreadsheet  instance, sheetid is the sheet index,
String fileid=(uniqueid + "." + (sheetid + '_batch.zip'))

//get the zip file stream by the fileid
Stream s=GridJsWorkbook.CacheImp.LoadStream(fileid), mimeType, fileid.Replace('/', '.')

4. Update spreadsheet file in cache

GridJsWorkbook gwb = new GridJsWorkbook();
//p is the update json,uid is the unique id for the spreadsheet
String ret = gwb.UpdateCell(p, uid);

5. Save spreadsheet file in cache

GridJsWorkbook wb = new GridJsWorkbook();
//p is the update json,uid is the unique id for the spreadsheet
wb.MergeExcelFileFromJson(uid, p);
wb.SaveToCacheWithFileName(uid, filename,password);

For detail info ,you can check the example here: https://github.com/aspose-cells/Aspose.Cells-for-.NET/tree/master/Examples_GridJs