Commit 4e55e366 authored by Alexander.Trofimov's avatar Alexander.Trofimov Committed by Alexander.Trofimov

При открытии документа со стилями без имен генерируем имена сами

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@52524 954022d7-b5bf-4e40-9824-e11837661b57
parent 3294337e
...@@ -4086,6 +4086,8 @@ function Binary_StylesTableReader(stream, wb, aCellXfs, Dxfs) ...@@ -4086,6 +4086,8 @@ function Binary_StylesTableReader(stream, wb, aCellXfs, Dxfs)
// Начнем с 1, т.к. 2 зарегистрировано для normal // Начнем с 1, т.к. 2 зарегистрировано для normal
var nIndexStyleMap = 1; var nIndexStyleMap = 1;
var XfIdTmp; var XfIdTmp;
// Список имен для стилей
var oCellStyleNames = {};
for (var nIndex in oStyleObject.aCellStyles) { for (var nIndex in oStyleObject.aCellStyles) {
if (!oStyleObject.aCellStyles.hasOwnProperty(nIndex)) if (!oStyleObject.aCellStyles.hasOwnProperty(nIndex))
...@@ -4155,6 +4157,20 @@ function Binary_StylesTableReader(stream, wb, aCellXfs, Dxfs) ...@@ -4155,6 +4157,20 @@ function Binary_StylesTableReader(stream, wb, aCellXfs, Dxfs)
// ToDo при отсутствии имени все не очень хорошо будет! // ToDo при отсутствии имени все не очень хорошо будет!
this.wb.CellStyles.CustomStyles.push(oCellStyle); this.wb.CellStyles.CustomStyles.push(oCellStyle);
if (null !== oCellStyle.Name)
oCellStyleNames[oCellStyle.Name] = true;
}
// ToDo стоит это переделать в дальнейшем (пробежимся по именам, и у отсутствующих создадим имя)
var nNewStyleIndex = 1, newStyleName;
for (var i = 0, length = this.wb.CellStyles.CustomStyles.length; i < length; ++i) {
if (null === this.wb.CellStyles.CustomStyles[i].Name) {
do {
newStyleName = "Style" + nNewStyleIndex++;
} while (oCellStyleNames[newStyleName])
;
this.wb.CellStyles.CustomStyles[i].Name = newStyleName;
}
} }
// ToDo это нужно будет переделать (проходимся по всем стилям и меняем у них XfId по порядку) // ToDo это нужно будет переделать (проходимся по всем стилям и меняем у них XfId по порядку)
......
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