边框问题确认是个bug,已经提交了
到处参考下面代码,新建了一个没有dom的spread对象,主要是数据操作,性能不会有很大影响的。
- $("#saveExcel").click(function () {
- var fileName = $("#exportFileName").val();
- var password = $("#password").val();
- if (fileName.substr(-5, 5) !== '.xlsx') {
- fileName += '.xlsx';
- }
- var jsonString = JSON.stringify(spread.toJSON());
- var tempSpread = new GC.Spread.Sheets.Workbook();
- tempSpread.fromJSON(JSON.parse(jsonString));
- for(var i = 0; i < tempSpread.getSheetCount(); i++){
- var sheet = tempSpread.sheets[i];
- for(var row = 0; row < sheet.getRowCount(); row++){
- for(var col = 0; col < sheet.getColumnCount(); col++){
- var cell = sheet.getCell(row, col);
- var cellType = cell.cellType();
- if(cellType && (cellType instanceof GC.Spread.Sheets.CellTypes.ComboBox)){
- var value = sheet.getValue(row, col), items = comboBoxCellType.items();
- if(value !== null && value !== undefined && items && items.length > 0){
- cellType.editorValueType(GC.Spread.Sheets.CellTypes.EditorValueType.text);
- cell.cellType(comboBoxCellType);
- for(var item in items){
- if(items[item].value === value){
- sheet.setValue(row, col, items[item].text);
- break;
- }
- }
- }
- }
- }
- }
- }
- var json = tempSpread.toJSON();
- // here is excel IO API
- excelIo.save(json, function (blob) {
- saveAs(blob, fileName);
- }, function (e) {
- // process error
- console.log(e);
- }, {password: password});
- });
复制代码 |