HTML в Excel / Вставить комментарии - PullRequest
0 голосов
/ 24 марта 2020

Можно ли добавить комментарий к ячейке Excel из файла HTML? Не удалось найти информацию из inte rnet.

Это мой код, и он на самом деле отлично экспортирует таблицу html как таблицу Excel, но я хотел бы также экспортировать комментарии, но пока безуспешно. Мой фактический код:

<!DOCTYPE html>
<html>
<head>
    <title>HTML Form Data to Excel</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
    <script type="text/javascript">
        function fnExcelReport() {
            $("th:hidden,td:hidden").remove();
            var tab_text = '<html xmlns:x="urn:schemas-microsoft-com:office:excel">';
            tab_text = tab_text + '<head><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>';

            tab_text = tab_text + '<x:Name>Test Sheet</x:Name>';

            tab_text = tab_text + '<x:WorksheetOptions><x:Panes></x:Panes></x:WorksheetOptions></x:ExcelWorksheet>';
            tab_text = tab_text + '</x:ExcelWorksheets></x:ExcelWorkbook></xml></head><body>';

            tab_text = tab_text + "<table border='1px'>";
            tab_text = tab_text + $('#myTable').html();
            tab_text = tab_text + '</table></body></html>';

            var data_type = 'data:application/vnd.ms-excel';

            var ua = window.navigator.userAgent;
            var msie = ua.indexOf("MSIE ");

            if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {
                if (window.navigator.msSaveBlob) {
                    var blob = new Blob([tab_text], {
                        type: "application/csv;charset=utf-8;"
                    });
                    navigator.msSaveBlob(blob, 'Report.xls');
                }
            } else {
                $('#test').attr('href', data_type + ', ' + encodeURIComponent(tab_text));
                $('#test').attr('download', 'Test file.xls');
            }
            };
    </script>
    <link rel="stylesheet" href="styles/main.css"/>
</head>
<body>
<a href="#" id="test" onClick="fnExcelReport();">download</a>

<table id="myTable">
        <tr>
            <td><b>Name</b>

            </td>
            <td><b>Age</b>

            </td>
        </tr>
        <tr>
            <td style="background-color: red;">Tester1</td>
            <td>30</td>
        </tr>
        <tr>
            <td>Tester2</td>
            <td>29</td>
        </tr>
        <tr>
            <td>Tester3</td>
            <td>17</td>
            <td id="comentA" class="commentA">something</td>
        </tr>
</table>
</body>
</html>

1 Ответ

0 голосов
/ 25 марта 2020

После экспорта в Excel вы можете использовать Excel JS API для вставки комментариев:

await Excel.run(async (context) => {
    const sheet = context.workbook.worksheets.getItem("Comments");

    // Note that an InvalidArgument error will be thrown if multiple cells passed to `comment.add`.
    sheet.comments.add("A2", "TODO: add data.");
    await context.sync();
});

Документ можно найти по адресу https://docs.microsoft.com/en-us/office/dev/add-ins/excel/excel-add-ins-comments

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...