Commit ef230c40 authored by Alexander.Trofimov's avatar Alexander.Trofimov Committed by Alexander.Trofimov

fix bug #25857

число символов в ячейке ограничил согласно спецификации - https://support.office.com/en-us/article/Excel-specifications-and-limits-16c69c74-3d6a-4aaf-ba35-e6eb276e8eaa?ui=en-US&rs=en-US&ad=US&fromAR=1

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@68189 954022d7-b5bf-4e40-9824-e11837661b57
parent 7c62149d
...@@ -705,8 +705,10 @@ var c_oAscEncodings = [ ...@@ -705,8 +705,10 @@ var c_oAscEncodings = [
var c_oAscEncodingsMap = {"437": 43, "720": 1, "737": 21, "775": 5, "850": 39, "852": 15, "855": 12, "857": 35, "858": 40, "860": 41, "861": 30, "862": 25, "863": 42, "865": 31, "866": 13, "869": 22, "874": 32, "932": 27, "936": 18, "949": 28, "950": 17, "1200": 48, "1201": 49, "1250": 16, "1251": 14, "1252": 44, "1253": 23, "1254": 36, "1255": 26, "1256": 2, "1257": 6, "1258": 45, "10007": 11, "12000": 50, "12001": 51, "20866": 9, "21866": 10, "28591": 37, "28592": 19, "28593": 33, "28594": 3, "28595": 8, "28596": 0, "28597": 20, "28598": 24, "28599": 34, "28603": 4, "28604": 7, "28605": 38, "51949": 29, "65000": 47, "65001": 46} var c_oAscEncodingsMap = {"437": 43, "720": 1, "737": 21, "775": 5, "850": 39, "852": 15, "855": 12, "857": 35, "858": 40, "860": 41, "861": 30, "862": 25, "863": 42, "865": 31, "866": 13, "869": 22, "874": 32, "932": 27, "936": 18, "949": 28, "950": 17, "1200": 48, "1201": 49, "1250": 16, "1251": 14, "1252": 44, "1253": 23, "1254": 36, "1255": 26, "1256": 2, "1257": 6, "1258": 45, "10007": 11, "12000": 50, "12001": 51, "20866": 9, "21866": 10, "28591": 37, "28592": 19, "28593": 33, "28594": 3, "28595": 8, "28596": 0, "28597": 20, "28598": 24, "28599": 34, "28603": 4, "28604": 7, "28605": 38, "51949": 29, "65000": 47, "65001": 46}
var c_oAscCodePageUtf8 = 46;//65001 var c_oAscCodePageUtf8 = 46;//65001
// https://support.office.com/en-us/article/Excel-specifications-and-limits-16c69c74-3d6a-4aaf-ba35-e6eb276e8eaa?ui=en-US&rs=en-US&ad=US&fromAR=1
var c_oAscMaxTooltipLength = 256; var c_oAscMaxTooltipLength = 256;
var c_oAscMaxCellOrCommentLength = 32767; // По идее должно быть 32768, но видимо сравнение идеть на меньше (а не меньше либо равно) var c_oAscMaxCellOrCommentLength = 32767;
var c_oAscMaxFormulaLength = 8192;
var locktype_None = 1; // никто не залочил данный объект var locktype_None = 1; // никто не залочил данный объект
var locktype_Mine = 2; // данный объект залочен текущим пользователем var locktype_Mine = 2; // данный объект залочен текущим пользователем
......
...@@ -3196,17 +3196,17 @@ Woorksheet.prototype.initPostOpen = function(handlers){ ...@@ -3196,17 +3196,17 @@ Woorksheet.prototype.initPostOpen = function(handlers){
if (oFormulaExt.t == Asc.ECellFormulaType.cellformulatypeShared) { if (oFormulaExt.t == Asc.ECellFormulaType.cellformulatypeShared) {
if(null != oFormulaExt.si){ if(null != oFormulaExt.si){
if(null != oFormulaExt.ref){ if(null != oFormulaExt.ref){
if (oFormulaExt.v.length <= c_oAscMaxFormulaLength) {
formulaShared[oFormulaExt.si] = { formulaShared[oFormulaExt.si] = {
fVal:new parserFormula(oFormulaExt.v,"",this), fVal: new parserFormula(oFormulaExt.v, "", this), fRef: function(t) {
fRef:function(t){
var r = t.getRange2(oFormulaExt.ref); var r = t.getRange2(oFormulaExt.ref);
return { return {
c:r, c: r, first: r.first
first:r.first
}; };
}(this) }(this)
}; };
formulaShared[oFormulaExt.si].fVal.parse(); formulaShared[oFormulaExt.si].fVal.parse();
}
} }
else{ else{
if( formulaShared[oFormulaExt.si] ){ if( formulaShared[oFormulaExt.si] ){
...@@ -3226,11 +3226,12 @@ Woorksheet.prototype.initPostOpen = function(handlers){ ...@@ -3226,11 +3226,12 @@ Woorksheet.prototype.initPostOpen = function(handlers){
} }
} }
} }
if(oFormulaExt.v) if(oFormulaExt.v && oFormulaExt.v.length <= c_oAscMaxFormulaLength) {
oCell.setFormula(oFormulaExt.v); oCell.setFormula(oFormulaExt.v);
if(oFormulaExt.ca) {
if(oFormulaExt.ca)
oCell.sFormulaCA = true; oCell.sFormulaCA = true;
}
}
/* /*
Если ячейка содержит в себе формулу, то добавляем ее в список ячеек с формулами. Если ячейка содержит в себе формулу, то добавляем ее в список ячеек с формулами.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment