Сравнение источников данных или значений ячеек каждого листа с другим листом электронной таблицы ejs - PullRequest
0 голосов
/ 21 декабря 2018

Я новичок в этом.Я отображаю электронные таблицы, используя электронные таблицы EJ js.Я хочу сравнить «каждый лист в одной таблице» с другим.Может ли кто-нибудь предоставить мне решение с использованием обычного JavaScript

Ответы [ 2 ]

0 голосов
/ 27 декабря 2018

извините за неправильный вопрос. Я загружаю файл xlsx, и для ssObj1.getSheet (sheet1ActIdx) .dataSource отсутствует ключ "источник данных".Я попытался преобразовать в JSON, как ssObj1.saveAsJson ();но значения ячеек всего листа в dataConatiner [sharedData] и rowCount colCount Сведения о листах находятся в модели obj..не знаю, как сравнить этот saveAsJson obj.

0 голосов
/ 24 декабря 2018

Ваше требование может быть достигнуто путем сравнения исчерпанного свойства «dataSource», которое извлекается из объекта листа.Здесь данные привязываются к электронной таблице с использованием свойства dataSource и сравнивают источник данных двух электронных таблиц в событии нажатия кнопки.

Вы можете попробовать использовать приведенный ниже пример рабочего кода или сослаться на образец http://jsplayground.syncfusion.com/2pd3dmtq

 <button id ="btn" onclick="onClick()">Click To Compare</button>
<h2> Spreadsheet1</h2>
<div id="Spreadsheet1"></div> 
<h2>Spreadsheet2</h2>
<div id="Spreadsheet2"></div>

<script>
    datasource = [
            { OrderID: 10001, CustomerID: "VINET", Freight: 12.256, Load: 123456 },
            { OrderID: 10002, CustomerID: "TOMSP", Freight: 23.3, Load: 1234 },
            { OrderID: 10003, CustomerID: "HANAR", Freight: 12.256, Load: 123456 },
            { OrderID: 10004, CustomerID: "VICTE", Freight: 23.3, Load: 1234 },
            { OrderID: 10005, CustomerID: "SUPRD", Freight: 12.256, Load: 123456 },
            { OrderID: 10006, CustomerID: "CHOPS", Freight: 23.3, Load: 1234 },
    ];

  datasource1 = [
            { OrderID: 10001, CustomerID: "VINET", Freight: 12.256, Load: 123456 },
            { OrderID: 10002, CustomerID: "TOMSP", Freight: 23.3, Load: 1234 },
            { OrderID: 10003, CustomerID: "HANAR", Freight: 12.256, Load: 123456 },
            { OrderID: 10004, CustomerID: "VICTE", Freight: 23.3, Load: 1234 },
            { OrderID: 10005, CustomerID: "SUPRD", Freight: 12.256, Load: 123456 },
            { OrderID: 10006, CustomerID: "CHOPS", Freight: 23.3, Load: 1234 }]

    $(function () {
        $("#Spreadsheet1").ejSpreadsheet({
            showRibbon: false,
          allowFormulaBar: false,
            columnWidth: 100,
            sheets: [{
                dataSource: window.datasource // Bind data for sheets using dataSource property
            }
           ],
        });
       $("#Spreadsheet2").ejSpreadsheet({
            showRibbon: false,
            columnWidth: 100,
         allowFormulaBar: false,
            sheets: [{
                dataSource: window.datasource1 // Bind data for sheets using dataSource property
            }],
        });
    });

    function onClick(args) {
        var ssObj1 = $("#Spreadsheet1").data("ejSpreadsheet"), ssObj2 = $("#Spreadsheet2").data("ejSpreadsheet"),
            sheet1ActIdx = ssObj1.getActiveSheetIndex(),sheet2ActIdx = ssObj2.getActiveSheetIndex(),
            sheet1DataSrc = ssObj1.getSheet(sheet1ActIdx).dataSource, // To access the datasource by passing the sheetIndex 
            sheet2DataSrc = ssObj2.getSheet(sheet2ActIdx).dataSource; 
        alert("The Datasource for Spreadsheet1 and Spreadsheet2 are " + (JSON.stringify(sheet1DataSrc) == JSON.stringify(sheet2DataSrc) ? "same":  "different"));
    }
</script>

Не могли бы вы проверить образец и сообщить нам, соответствует ли он вашим требованиям или нет.

...