表格报错原因及解决方案 js导出excel表格兼容性( 二 )


excelIo.open(excelFile, function (json) {
var workbookObj = json;
workbook.fromJSON(workbookObj);
}, function (e) {
// process error
console.log(e);
});
//export Spread.Sheets json to excel file
excelio.save(json, function (blob) {
//do whatever you want with blob
//such as you can save it
}, function (e) {
//process error
console.log(e);
});
同时,你还可打开或保存一个带有密码保护的 excel 文件,只需要在 open 和 save 方法中传入参数 options{password:xxxx} 即可 。例如://import excel file to Spread.Sheets json
excelIo.open(excelFile, function (json) {
var workbookObj = json;
workbook.fromJSON(workbookObj);
}, function (e) {
// process error
console.log(e);
},{password:xxxx});
//export Spread.Sheets json to excel file
excelio.save(json, function (blob) {
//do whatever you want with blob
//such as you can save it
}, function (e) {
//process error
console.log(e);
},{password:xxxx});
前端导入导出 Excel 的示例源码及数据源下载:示例源码:ExcelIO.html数据源文件:excel_data.js三、处理单元格合并一般来说,前端生成 excel 而不是 csv,其最主要的原因都是为了解决 csv 不能实现单元格合并的问题,假设我们要生成带有单元格格式的 Excel 文件,也可以通过 SpreadJS 内置属性实现:
调用 addSpan 方法来合并指定区域的单元格, 以此来构建一个新的更大的单元格, 参见以下示例代码:// Merge cells and set label
sheet.addSpan(1, 4, 1, 7);
sheet.setValue(1, 4, “Goods”);
// Merge cells across multi rows (3) and columns (4)
sheet.addSpan(20, 1, 3, 4);
sheet.getCell(20, 1).value(“Demo”).hAlign.vAlign;
调用 removeSpan 方法来分解指定包含合并的单元格:sheet.removeSpan(20, 1);
Workbook的 allowUserDragMerge 选项表明是否允许通过鼠标拖拽来合并单元格 。把 allowUserDragMerge 改为 true,在选择区域边缘处会出现一个特殊的标记 。
// default value is false
spread.options.allowUserDragMerge = true;
备注: 确定你要展现在合并单元格中的信息在合并前处于合并区域的最左上单元格, 合并单元格中的其他单元格信息将被隐藏, 直到合并信息被分解(与 Excel 相同) 。
处理单元格合并的示例源码及数据源下载:cellSpan.html
四、自定义 Excel 的文件样式Spread.Sheets 提供一个样式的类, 其中包含很多可配置属性, 如前景色、背景色等 。
你可以通过这些属性,构造一个样式并设置不同的参数, 示例代码如下:var style = new GC.Spread.Sheets.Style();
style.backColor = ‘red’;
style.foreColor = ‘green’;
style.isVerticalText = ‘true’;
同样,你也可以将此样式设置给单元格, 行, 或者列://set style to cell.
sheet.setStyle(5, 5, style, GC.Spread.Sheets.SheetArea.viewport);
//set style to row.
sheet.setStyle(5, -1, style, GC.Spread.Sheets.SheetArea.viewport);
//set style to column.
sheet.setStyle(-1, 5, style, GC.Spread.Sheets.SheetArea.viewport);
样式在不同的层级结构中具有不同的优先级别: 单元格 > 行 > 列 。
Spread.Sheets 支持给样式设置一个名称, 并将这个命名过的样式加入到表单的名称样式集合中 。这样让样式的使用和管理更方便 。
你可以构造一个名称样式, 并将此样式添加到表单或者 Spread 控件的名称样式集合中,如:var style = new GC.Spread.Sheets.Style();
style.name = ‘style1’;
style.backColor = ‘red’;
//add to sheet’s named style collection.
sheet.addNamedStyle(style);
//add to spread’s named style collection.


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: