Добавляйте данные в данные в экспорт, чтобы преуспеть в настройке формата - PullRequest
0 голосов
/ 01 октября 2019

Я использую плагин INFRAGISTICS для экспорта в Excel, я делаю настраиваемые данные экспорта, чтобы расположить данные в определенной ячейке или регионе. У меня есть работающий экспорт Excel, но как экспортировать мои данные, потому что в нем есть два или более данных. я не включил все свои коды, я включил необходимые, во-первых, когда щелкнул класс btnSearch, он отображает данные в таблице, которые можно датировать. и затем вы можете нажать Export btn, чтобы экспортировать данные в Excel. или есть другой способ?

// Мои данные, которые отображаются после отображения класса btnSearch.

    <table id="IncomeLedgerTable" class="table table-striped table-bordered cell-border compact stripe" style="width:100%; margin-top: 20px;">
                    <thead>
                            <tr>
                                <td>PayPeriod</td>
                                <td>Basic(A)</td>
                                <td>OtherInCome</td>
                                <td>Detail</td>
                                <td>Contribution Base</td>
                                <td>Tax Base (D)</td>
                                <td>SS Contri (E)</td>
                                <td>Philhealth Contri (F)</td>
                                <td>Pag-Ibig Contri (G)</td>
                                <td>Net Tax Base (H)</td>
                                <td>Tax WithShield (I)</td>
                            </tr>
                 </thead>
        </table>

Export

                <script>
                   var table = $('#IncomeLedgerTable').DataTable({
                        "order": []
                        });

//                
                 $('.btnSearch').click(function () {

                        $.ajax({
                            type: 'POST',
                            dataType: "json",
                            url: '@Url.Action("IncomeLedgerTable", "LastPay")',
                            data: {

                                'EmployeeID': $('#EmployeeID').val(),
                                'Year': $('#Year').val()

                            },
                            beforeSend: function () {
                                $.dialog({
                                    icon: 'fa fa-spinner fa-spin',
                                    title: 'Loading',
                                    content: 'Please Wait...',
                                    showConfirmButton: false,
                                    draggable: false,
                                    closeIcon: false
                                });
                            },
                           success: function (result) {
                                $(".jconfirm").fadeOut(1);
                               var resultData = JSON.parse(result.data);
                               console.log(resultData);

                               table.clear().draw();


                               if (resultData.length > 0) {
                                    for (i = 0; i < resultData.length; i++) {
                                        table.row.add([
                                            '<span id="PayrollPeriodData">' + resultData[i].PayrollPeriod + '</span>',
                                            '<span id="BasicPayData">' + formatNumber(resultData[i].BasicPay) + '</span>',
                                            '<span id="OtherIncomeData">' + formatNumber(resultData[i].OtherIncome) + '</span>',
                                            '<span id="DetailData">' + resultData[i].Detail + '</span>',
                                            '<span id="GovBasisData">' + formatNumber(resultData[i].GovBasis) + '</span>',
                                            '<span id="TaxBaseData">' + formatNumber(resultData[i]. TaxBase) + '</span>',
                                            '<span id="SSSData">' + formatNumber(resultData[i].SSS) + '</span>',
                                            '<span id="PHICData">' + formatNumber(resultData[i].PHIC) + '</span>',
                                            '<span id="HDMFData">' + formatNumber(resultData[i].HDMF) + '</span>',
                                            '<span id="NetTaxBaseData">' + formatNumber(resultData[i]. NetTaxBase) + '</span>',
                                            '<span id="TaxWithHeld">' + formatNumber(resultData[i].TaxWithHeld) + '</span>',
                                        ]).draw(false);
                                   }

                                }

                                else {
                                   $.alert({
                                       title: 'Message!',
                                       content: 'No Data Found in Income Ledger!',
                                   });
                               }

                               setTimeout(function () {
                                   $('.totalSearch').click()

                               }, 1000);
                            },
                        });

                    });               

// Экспорт при нажатии

         $(document).on("click",".btnExport", function () {

                var UserID = $('#UserID').val();
                var Position = $('#Position').val();
                var Department = $('#Department').val();
                var Branch = $('#Branch').val();
                var StartDate = $('#StartDate').val();
                var PayrollType = $('#PayrollType').val();
                var Rate = $('#Rate').val();
                var LengthOfStay = $('#LengthOfStay').val();

                var workbook = new $.ig.excel.Workbook($.ig.excel.WorkbookFormat.excel2007);
                var sheet = workbook.worksheets().add('Sheet1');
                sheet.columns(0).setWidth(96, $.ig.excel.WorksheetColumnWidthUnit.pixel);
                sheet.columns(4).setWidth(80, $.ig.excel.WorksheetColumnWidthUnit.pixel);
                sheet.columns(6).setWidth(96, $.ig.excel.WorksheetColumnWidthUnit.pixel);


                // Add merged regions for regions A1:D2 and E1:G2
                var mergedCellA1D2 = sheet.mergedCellsRegions().add(0, 0, 0, 10);


                // Add two large headers in merged cells above the data
                mergedCellA1D2.value('YEAR TO DATE COMPUTATION: 2019');
                mergedCellA1D2.cellFormat().alignment($.ig.excel.HorizontalCellAlignment.center);
                mergedCellA1D2.cellFormat().fill($.ig.excel.CellFill.createSolidFill('#C62828'));
                mergedCellA1D2.cellFormat().font().colorInfo(new $.ig.excel.WorkbookColorInfo($.ig.excel.WorkbookThemeColorType.light1));
                mergedCellA1D2.cellFormat().font().height(16 * 20);



                // Format some rows and columns that should have similar formatting so we don't have to set it on individual cells.
                sheet.rows(2).cellFormat().font().bold(true);
                sheet.columns(4).cellFormat().formatString('$#,##0.00_);[Red]($#,##0.00)');
                sheet.columns(6).cellFormat().formatString('$#,##0.00_);[Red]($#,##0.00)');

                // Add a light color fill to all cells in the A3:G17 region to visually separate it from the rest of the sheet. We can iterate
                // all cells in the regions by getting an enumerator for the region and enumerating each item.


                // Populate the sheet with data
                sheet.getCell('A3').value('Name:');
                sheet.getCell('A4').value('Position / Dept:');

                sheet.getCell('A5').value('Department:');
                sheet.getCell('A6').value('Company Branch:');
                sheet.getCell('A7').value('Hiring Date:');
                sheet.getCell('A8').value('Separation Date:');
                sheet.getCell('A9').value('Length of Stay:');
                sheet.getCell('A10').value('Tax Code:');
                sheet.getCell('A11').value('Payroll Type:');
                sheet.getCell('A12').value('Monthly Rate:');

                sheet.getCell('B3').value(UserID);
                sheet.getCell('B4').value(Position);
                sheet.getCell('B5').value(Department);
                sheet.getCell('B6').value(Branch);
                sheet.getCell('B7').value(StartDate);

                sheet.getCell('B9').value(LengthOfStay);

                sheet.getCell('B11').value(PayrollType);
                sheet.getCell('B12').value(Rate);
                var mergedCellA13D1 = sheet.mergedCellsRegions().add(12, 0, 12, 10);

                // Add two large headers in merged cells above the data
                mergedCellA13D1.value('Income Ledger:');
                mergedCellA13D1.cellFormat().alignment($.ig.excel.HorizontalCellAlignment.center);
                mergedCellA13D1.cellFormat().fill($.ig.excel.CellFill.createSolidFill('#C62828'));
                mergedCellA13D1.cellFormat().font().colorInfo(new 
                 $.ig.excel.WorkbookColorInfo($.ig.excel.WorkbookThemeColorType.light1));
                mergedCellA13D1.cellFormat().font().height(16 * 20);

                    saveWorkbook(workbook, "Formatting.xlsx");

            });

            function saveWorkbook(workbook, name) {
                workbook.save({ type: 'blob' }, function (data) {
                    saveAs(data, name);
                }, function (error) {
                    alert('Error exporting: : ' + error);
                });
            }                            
            </script> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...