Commit 340e7a69 authored by Alexander.Trofimov's avatar Alexander.Trofimov Committed by Alexander.Trofimov

(1.0.0.101) - XlsxSerializerCom.dll

Для ячеек вместо Ref (строка с буквой столбца и номером строки, например "A1") пишем два числа: номер строки + номер столбца (парсинг на C++, вместо JavaScript). Тем самым ускорил открытие файла.

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@53945 954022d7-b5bf-4e40-9824-e11837661b57
parent eb13000f
...@@ -229,7 +229,8 @@ var c_oSerCellTypes = ...@@ -229,7 +229,8 @@ var c_oSerCellTypes =
Style: 1, Style: 1,
Type: 2, Type: 2,
Value: 3, Value: 3,
Formula: 4 Formula: 4,
RefRowCol: 5
}; };
/** @enum */ /** @enum */
var c_oSerFormulaTypes = var c_oSerFormulaTypes =
...@@ -5485,8 +5486,10 @@ function Binary_WorksheetTableReader(stream, wb, aSharedStrings, aCellXfs, Dxfs, ...@@ -5485,8 +5486,10 @@ function Binary_WorksheetTableReader(stream, wb, aSharedStrings, aCellXfs, Dxfs,
{ {
var res = c_oSerConstants.ReadOk; var res = c_oSerConstants.ReadOk;
var oThis = this; var oThis = this;
if ( c_oSerCellTypes.Ref == type ) if ( c_oSerCellTypes.Ref == type )
oCell.oId = g_oCellAddressUtils.getCellAddress(this.stream.GetString2LE(length)); oCell.oId = g_oCellAddressUtils.getCellAddress(this.stream.GetString2LE(length));
else if ( c_oSerCellTypes.RefRowCol == type )
oCell.oId = new CellAddress(this.stream.GetULongLE(), this.stream.GetULongLE()); // Ускорение открытия
else if( c_oSerCellTypes.Style == type ) else if( c_oSerCellTypes.Style == type )
{ {
var nStyleIndex = this.stream.GetULongLE(); var nStyleIndex = this.stream.GetULongLE();
...@@ -5505,7 +5508,7 @@ function Binary_WorksheetTableReader(stream, wb, aSharedStrings, aCellXfs, Dxfs, ...@@ -5505,7 +5508,7 @@ function Binary_WorksheetTableReader(stream, wb, aSharedStrings, aCellXfs, Dxfs,
case ECellTypeType.celltypeError: oCell.oValue.type = CellValueType.Error;break; case ECellTypeType.celltypeError: oCell.oValue.type = CellValueType.Error;break;
case ECellTypeType.celltypeNumber: oCell.oValue.type = CellValueType.Number;break; case ECellTypeType.celltypeNumber: oCell.oValue.type = CellValueType.Number;break;
case ECellTypeType.celltypeSharedString: oCell.oValue.type = CellValueType.String;break; case ECellTypeType.celltypeSharedString: oCell.oValue.type = CellValueType.String;break;
}; }
} }
else if( c_oSerCellTypes.Formula == type ) else if( c_oSerCellTypes.Formula == type )
{ {
......
...@@ -4316,10 +4316,6 @@ ...@@ -4316,10 +4316,6 @@
* @return {String} * @return {String}
*/ */
WorksheetView.prototype._getColumnTitle = function (col) { WorksheetView.prototype._getColumnTitle = function (col) {
/*var q = col < 26 ? undefined : asc_floor(col / 26) - 1;
var r = col % 26;
var text = String.fromCharCode( ("A").charCodeAt(0) + r );
return col < 26 ? text : this._getColumnTitle(q) + text;*/
return g_oCellAddressUtils.colnumToColstrFromWsView(col + 1); return g_oCellAddressUtils.colnumToColstrFromWsView(col + 1);
}; };
......
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